$rsearch

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

La 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

Lors de la saisie d’expressions régulières dans des scripts Picard, vous devez échapper une barre oblique inverse « \ », un signe dollar « $ », une virgule « , » et les parenthèses gauche et droite « ( » et « ) » pour forcer Picard à ne pas les interpréter dans le cadre de la commande de 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,\.]*)$ devrait être saisie sous la forme ^\\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\))                      ==>  ""