$rsearch

Utilisation: $rsearch(texte,motif)
Catégorie : texte

Description:

Recherche d’expression régulière. Cette fonction renverra le premier groupe correspondant spécifié par motif à partir de texte. Pour plus d’informations sur les expressions régulières, veuillez consulter l’article sur Wikipedia.

Si une sous-expression marquée est définie à l’aide de parenthèses dans le modèle de recherche, seul le modèle capturé par la sous-expression sera renvoyé. Si plus d’une sous-expression marquée est définie et mise en correspondance, seul le modèle capturé par la première sous-expression sera renvoyé. Si plus d’une sous-expression marquée est définie et que toutes ne correspondent pas, une chaîne vide sera renvoyée. Si aucune sous-expression n’est spécifiée, le modèle capturé par l’expression de recherche entière sera retourné.

Note

Lorsque vous saisissez des expressions régulières dans des scripts Picard, vous devez échapper la barre oblique inversée « \ », le signe dollar « $ », la virgule « , » et les parenthèses gauche et droite « ( » et « ) » afin de forcer Picard à ne pas les interpréter comme faisant partie de la commande du script. Cela se fait en insérant une barre oblique inverse avant le caractère à échapper. Par exemple, l’expression régulière ^\s*([0-9,\.]*)$ doit être saisie comme ^\\s*\([0-9\,\\.]*\)\$.

Exemple:

Les instructions suivantes renverront les valeurs indiquées :

$rsearch(test \(disc 1\),\\\(disc \(\\d+\)\\\))  ==>  "1"
$rsearch(test \(disc 1\),\\\(disc \\d+\\\))      ==>  "(disc 1)"
$rsearch(test,x)                                 ==>  ""
$rsearch(test,t)                                 ==>  "t"
$rsearch(test,s)                                 ==>  "s"
$rsearch(test,\(e\).*s)                          ==>  "e"
$rsearch(test,\(e\).*\(s\))                      ==>  "e"
$rsearch(test,\(e\).*x)                          ==>  ""
$rsearch(test,\(e\).*\(x\))                      ==>  ""