La commande find text permet d'effectuer des recherches de texte ou d'expression régulière (regular expression). Pour passer en mode de recherche en expression régulière, il suffit de spécifier find text [...] with regexp. Si besoin est, find text convertira le paramètre direct et le paramètre in en Unicode text.
- find textrecherche les occurences d'un texte ou d'une expression régulière.
-
string/Unicode text -- le texte (ou l'expression régulière) à rechercher
in string/Unicode text -- une string ou un alias
[starting at] integer -- défaut : 0
[for] integer -- longueur du texte après starting at
[case sensitive] boolean -- défaut : true
[regexp] boolean -- utilise les expressions régulières, défaut : false
[whole word] boolean -- uniquement sans regexp. défaut : false
[regexpflag] list of string -- un sous-ensemble de {"IGNORECASE", "EXTEND", "MULTILINE", "SINGLELINE", "FIND LONGEST", "FIND NOT EMPTY", "DONT CAPTURE GROUP", "NOTBOL", "NOTEOL"}; défaut : {}
[using] string -- le modèle de génération du texte résultat (en regexp). Utile pour des constructions utilisant les références de regexp, par ex. : using "name: \\1". Peut être une liste de strings, auquel cas matchResult sera une liste de strings.
[all occurrences] boolean -- renvoie la liste de toutes les occurrences. défaut : false
[string result] boolean -- renvoie uniquement le texte trouvé au lieu d'un record
[syntax] string -- la syntaxe pour les expressions régulières (si le paramètre regexp vaut true). L'une des chaînes de texte suivantes : ("POSIX" | "POSIX_EXTENDED" | "EMACS" | "GREP" | "GNU_REGEX" | "JAVA" | "PERL" | "RUBY"). Défaut: "RUBY"
-
Result: record -- {matchLen: longueur trouvée, matchPos: offset du premier caractère trouvé (0 est le premier caractère), matchResult: le texte trouvé (éventuellement formaté à l'aide du paramètre "using")}
-
Si il n'y a pas de résultat, find text renvoit une erreur sauf dans le cas all occurrences où il renvoie la liste vide.
-
Il est possible de passer pour le paramètre in de find text une référence à un fichier à la place d'une string.
-
Il est possible de passer pour le paramètre in de find text une référence à une fenêtre de texte de Smile (i.e. un terminal AppleScript) ou une fenêtre Unicode de Smile.
-
Il est possible de passer pour le paramètre in de find text une référence à une fenêtre Unicode de Smile
-
Vous pouvez également passer une référence à la sélection de texte d'une fenêtre telle que selection of the_window.
-
Le paramètre using permet de formater le texte renvoyé.
-
Le paramètre using peut être une string ou une liste de strings.
-
Ces strings peuvent contenir les métacaractères suivant : \0, correspondant à l'intégralité du texte trouvé, et \1 ... \9, qui sont des références aux groupes successifs définis dans l'expression régulière à chercher (ce sont les parenthèses, par ordre d'ouverture).
-
Le paramètre using reconnait les caractères spéciaux \r, \n et \t qui correspondent à CR (retour chariot), LF (fin de ligne) et tab (tabulation).
Exemples
find text "@" in paragraph 2 of window 2
set the_str to pi as string
find text "3" in the_str
-- {matchPos:0, matchLen:1, matchResult:"3"}
set the_file to (path to preferences from user domain)
set the_file to (the_file as text) & "com.apple.Safari.plist"
set the_file to the_file as alias
find text "<string>(.*)</string>" in the_file using "\\1" with regexp, all occurrences and string result
-- lists the strings stored in Safari's prefs
|