Satimage Précédent
find text
Accueil Documentation Smile Texte, Unicode, Regular expressions find text  
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
English version
Copyright ©2008 Paris, Satimage