Uso di espressioni regolari nei campi di ricerca di macOS


11

Qualcuno sa dove posso trovare i documenti che descrivono le capacità di analisi Regex dei campi di ricerca macOS?

Voglio dire, vorrei leggere le regole di sintassi della regex che sono consentite e analizzate dal campo di ricerca. Ad esempio, quello che non sapevo fino ad oggi che, in MacOS Preview (o qualsiasi altra applicazione con un campo di ricerca standard, supponendo) possiamo usare input in questo modo:

"\s" AND "an" AND "\s"

Funziona e suggerisce che i campi di ricerca interpretano più regex di quanto sappiamo, ed è quello che voglio leggere / scoprire . L'esempio sopra cerca "an" con un carattere spazio finale e iniziale \sall'interno di un documento aperto.

Mi piacerebbe saperne di più su quelle regole di raggruppamento e regex che avvolgono / scappano i caratteri in modo che possano essere analizzati correttamente. Questo formato di input si applica anche ai campi di ricerca a livello di sistema di qualsiasi applicazione?

Non riesco a trovare alcun documento che descriva queste funzionalità e invece ho trovato solo questo nella libreria developer.apple.com .

Di seguito puoi vedere un esempio di comportamento di ricerca predefinito per una parola "an" all'interno di un documento PDF, mostra tutti i "an" occorrenze nei risultati, indipendentemente dal fatto che tu inserisca uno spazio prima della parola "an", quindi il tuo input è " un "

inserisci qui la descrizione dell'immagine

Quando mettiamo "\s" AND "an" AND "\s"nel campo di ricerca otteniamo il risultato di ricerca più desiderato

comportamento del campo di ricerca di input regex

Questo fa una differenza enorme per le ricerche che contengono parole comuni!

In breve: vorrei saperne di più sulle funzionalità che vedi sopra. Dove posso trovare qualsiasi documentazione (ufficiale) al riguardo?

Le risposte fornite (finora) non rispondono alla mia domanda, grazie comunque per loro - aggregare più informazioni correlate è buono.


Questo link ti sarà di aiuto?
Denis Rasulev,

Ciao Denis, grazie per il link- ma questo è più o meno il manuale di regex di posix ;-) e se guardi attentamente al mio esempio sopra - non è regex di posix- poiché la sintassi comune non funziona ed è per questo che il la domanda è qui. Non sono sicuro che parole come AND OR siano in posix regex (correggimi, se sbaglio) comunque. Detto questo, non riesco a trovare i dettagli della sintassi per questo tipo di campo di ricerca. È (probabilmente) un'istanza di developer.apple.com/reference/appkit/nssearchfield#overview (indovinare) ma non riesco a scoprire le specifiche di regex.
PJJ,

Sei sicuro che stiamo parlando di regex qui? Ho provato il tuo esempio in Anteprima e alcune varianti regex, ma nessuna di queste sembrava comportarsi come un'espressione regolare corretta. Questo non risponde alla tua domanda, ma potrebbe aiutarti a cercare nel posto giusto.
Manngo,

Sì, hai ragione - e questo è quello che voglio scoprire! Dov'è un documento che descrive quale tipo di sintassi viene analizzata e come? Non è posix regex, ma è abbastanza regex-ish, quindi che cos'è? :)
PJJ,

Risposte:


2

Non so se l'hai già scoperto, ma devi solo fare clic sulla lente d'ingrandimento nel campo di ricerca, ha un piccolo cursore verso il basso che è l'indizio, vedi questo screenshot:

inserisci qui la descrizione dell'immagine

Dopo aver fatto clic, scegli Insert Patterne otterrai una serie di opzioni:

Questo è fondamentalmente un regex facile da usare, cioè ottieni token che puoi facilmente organizzare in schemi di ricerca abbastanza potenti.

inserisci qui la descrizione dell'immagine

L'esempio nello screenshot è TextEdit, tuttavia questa opzione non sembra essere disponibile in Anteprima.


Grazie per la lunga risposta, MA questa è TextEdit che stai mostrando ... non la finestra di ricerca predefinita del sistema come quella nell'opzione Anteprima, quindi non è la risposta che sto cercando. La finestra di ricerca intendo è (altamente probabile) un'istanza di developer.apple.com/reference/appkit/nssearchfield#overview
PJJ
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.