Eggdrop & Tcl

Base de connaissances eggdrop et tcl

Outils pour utilisateurs

Outils du site


tcl:regexp

regexp

Compare une expression régulière à une chaîne

Description

Détermine si l'expression régulière exp correspond à tout ou partie de string et renvoie 1 si c'est le cas, 0 si ce n'est pas le cas, à moins que -inline ne soit spécifié (voir ci-dessous). (La correspondance des expressions régulières est décrite dans la page de référence de re_syntax).

Si des arguments supplémentaires sont spécifiés après chaîne, ils sont traités comme des noms de variables dans lesquelles sont renvoyées des informations sur la ou les parties de chaîne correspondant à exp. matchVar sera défini comme la plage de la chaîne qui correspond à l'ensemble de exp. Le premier subMatchVar contiendra les caractères de la chaîne qui correspondent à la sous-expression parenthésée la plus à gauche dans exp, le sous-MatchVar suivant contiendra les caractères qui correspondent à la sous-expression parenthésée la plus à droite dans exp, et ainsi de suite.

Syntaxe

regexp ?switches? exp string ?matchVar? ?subMatchVar subMatchVar ...?

switches

  • -about : Au lieu d'essayer de faire correspondre l'expression régulière, renvoie une liste contenant des informations sur l'expression régulière. Le premier élément de la liste est le nombre de sous-expressions. Le deuxième élément est une liste de noms de propriétés qui décrivent divers attributs de l'expression rationnelle. Ce commutateur est principalement destiné à des fins de débogage.
  • -expanded : Active l'usage de la syntaxe étendue des expressions rationnelles où l'espace et les commentaires sont ignorés. Identique à la spécification de l'option (?x) (voir meta_syntaxe).
  • -indices : Change ce qui est stocké dans les subMatchVars Au lieu de stocker les caractères correspondants de string, chaque variable contiendra une liste de deux chaînes décimales donnant les indices dans string des premiers et derniers caractères dans l'intervalle correspondant des caractères.
  • -line : Active la correspondance sensible au saut de ligne Par défaut, le saut de ligne est un caractère ordinaire sans signification spéciale Avec ce flag, l'expression crochets [^ et . ne correspond jamais à newline, ^ correspond à une chaîne vide après toute newline en plus de sa fonction normale, et $ correspond une chaîne vide avant toute newline en en plus de sa fonction normale, ce flag est équivalent à la spécification à la fois de -linestop et -lineanchor, ou de l'option (?n) (voir meta_syntaxe).
  • -linestop : Change le comportement de l'expression crochets [^ et . de façon à ce qu'elles s'arrêtent aux saut de lignes. Ceci est identique à la spécification de l'option (?p) (voir meta_syntaxe).
  • -lineanchor : Change le comportement de ^ et $ (les “ancres”) de façon à ce qu'ils correspondent au début et à la fin d'une ligne respectivement. Ceci est identique à la spécification de l'option (?w) (voir meta_syntaxe).
  • -nocase : Cause l'interprétation des caractères majuscules de string comme minuscules pendant le traitement des correspondances.
  • -all : Teste la correspondance de l'expression rationnelle le plus grand nombre de fois possible dans la chaîne, retournant le nombre total de correspondances trouvées si spécifié avec des variables de correspondance, ne contiendront l'information que pour la dernière correspondance.
  • -inline : Provoque le renvoi, comme liste, des données qui auraient été autrement placées dans des variables de correspondance Quand -inline est utilisée, les variables de correspondance ne peuvent pas être spécifiées Si utilisé avec -all, la liste sera concaténée à chaque itération, de ce fait une liste plate est toujours renvoyée. Pour chaque itération, la commande ajoutera les correspondances supplémentaires aux données, plus un élément pour chaque sous expression dans l'expression rationnelle.
  • -start index : Spécifie un index de caractère dans une chaîne pour commencer la correspondance à une expression rationnelle. A l'utilisation de ce switch, ^ ne correspond plus au début de la ligne, et \A correspond toujours au début de la chaîne à index. Si -indices est spécifié, les indices seront indexés en partant du début de la chaîne d'entrée. index sera contraint au limites de la chaîne d'entrée.
  • : Marque la fin des commutateurs. L'argument suivant ceci sera traité comme exp même s'il commence avec un -.

S'il y a plus de subMatchVar que de sous expressions entre parenthèses dans exp, ou si une sous expression particulière dans exp ne correspond pas à la chaîne (ex. parce qu’il était dans une partie de l'expression qui n'a pas été trouvée), alors la subMatchVar correspondante sera fixée à “-1-1” si -indices a été spécifié ou à une chaîne vide autrement.

Exemples

Voir aussi

tcl/regexp.txt · Dernière modification : 2023/11/13 08:33 de CrazyCat