Utilisation d'expressions régulières dans les champs de recherche macOS


11

Est-ce que quelqu'un sait où je peux trouver les documents décrivant les capacités d'analyse Regex des champs de recherche macOS?

Ce que je veux dire, je voudrais en savoir plus sur les règles de syntaxe des expressions rationnelles qui sont autorisées et analysées par le champ de recherche. Par exemple, ce que je ne savais pas jusqu'à aujourd'hui, que dans macOS Preview (ou dans toute autre application avec un champ de recherche standard, deviner), nous pouvons utiliser une entrée comme celle-ci:

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

Cela fonctionne et indique que les champs de recherche interprètent plus d'expressions rationnelles que nous ne le savons, et c'est ce que je veux lire / découvrir . L'exemple ci-dessus recherche «un» avec un caractère d'espacement final et de début \sdans un document ouvert.

J'aimerais en savoir plus sur ces règles de regroupement et l'encapsulation / échappement des caractères regex afin qu'ils puissent être correctement analysés. Ce format d'entrée s'applique-t-il également aux champs de recherche du système de toute application?

Je ne trouve aucun document décrivant ces fonctionnalités et j'ai été trouvé uniquement sur la bibliothèque developer.apple.com à la place.

Ci-dessous, vous pouvez voir un exemple de comportement de recherche par défaut pour un "un" mot dans un document PDF, il montre toutes les occurrences "un" dans les résultats, peu importe si vous mettez un espace avant le "un" mot, donc votre entrée est " une "

entrez la description de l'image ici

Lorsque nous mettons "\s" AND "an" AND "\s"dans le champ de recherche, nous obtenons le résultat de recherche le plus souhaité

comportement des champs de recherche des expressions rationnelles

Cela fait une énorme différence pour les recherches contenant des mots courants!

En bref: j'aimerais en savoir plus sur les fonctionnalités que vous voyez ci-dessus. Où puis-je trouver de la documentation (officielle) à ce sujet?

Les réponses fournies (jusqu'à présent) ne répondent pas à ma question, merci pour elles - agréger plus d'informations connexes est bon.


Ce lien vous sera- t-il utile?
Denis Rasulev

Salut Denis, merci pour le lien - mais c'est plus ou moins le manuel de l'expression rationnelle posix ;-) et si vous regardez attentivement mon exemple ci-dessus - ce n'est pas l'expression rationnelle posix - car la syntaxe commune ne fonctionne pas et c'est pourquoi le la question est ici. Je ne sais pas si les mots comme ET OU sont en regex posix (corrigez-moi, si je me trompe) de toute façon. Cela étant dit, je ne trouve pas les détails de la syntaxe pour ce type de champ de recherche. C'est (probablement) une instance de developer.apple.com/reference/appkit/nssearchfield#overview (devinez) mais je ne peux pas creuser les détails de l'expression régulière.
PJJ

Êtes-vous sûr que nous parlons de regex ici? J'ai essayé votre exemple dans Aperçu et quelques variations d'expression régulière, mais aucune d'entre elles ne semblait se comporter comme une expression régulière appropriée. Cela ne répond pas à votre question, mais pourrait aider à chercher au bon endroit.
Manngo

Oui, vous avez raison - et c'est ce que je veux savoir! Où se trouve un document décrivant le type de syntaxe analysé et comment? Ce n'est pas un regex posix, mais c'est assez regex-ish, alors qu'est-ce que c'est? :)
PJJ

Réponses:


2

Je ne sais pas si vous l'avez déjà découvert mais il vous suffit de cliquer sur la loupe dans le champ de recherche, elle a un petit curseur pointant vers le bas qui est l'indice, voir cette capture d'écran:

entrez la description de l'image ici

Après avoir cliqué sur choisir Insert Pattern, vous obtenez une gamme d'options:

Il s'agit essentiellement d'une expression rationnelle conviviale, c'est-à-dire que vous obtenez des jetons que vous pouvez facilement organiser en modèles de recherche assez puissants.

entrez la description de l'image ici

L'exemple de la capture d'écran est TextEdit, mais cette option ne semble pas être disponible dans l'aperçu.


Salut merci pour la longue réponse, MAIS c'est TextEdit que vous montrez ... pas la fenêtre de recherche par défaut du système comme celle de l'option Aperçu, donc ce n'est pas la réponse que je cherche. La fenêtre de recherche que je veux dire est (très probable) une instance de developer.apple.com/reference/appkit/nssearchfield#overview
PJJ
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.