RegExp (gb.pcre)
Cette classe représente une expression régulière, avec laquelle vous pouvez effectuer des recherches dans différentes chaînes et retrouver des sous-correspondances (les parties de la chaîne de recherche qui correspondent aux expressions entre parenthèses).
Constantes
Anchored
|
Si cette compilation est spécifiée, le motif est forcé à être "ancré", c.à.d. qu'il est contraint à concorder avec le premier point de concordance dans la chaîne dans laquelle il est recherché (la "chaîne sujet").
|
BadMagic
|
Cette constante d'erreur PCRE n'est pas utilisée dans Gambas (pas encore.)
|
BadOption
|
Cette constante d'erreur PCRE n'est pas utilisée dans Gambas (pas encore.)
|
BadUTF8
|
Cette constante d'erreur PCRE n'est pas utilisée dans Gambas (pas encore.)
|
BadUTF8Offset
|
Cette constante d'erreur PCRE n'est pas utilisée dans Gambas (pas encore.)
|
Callout
|
Cette constante d'erreur de PCRE n'est pas (encore) utilisée dans Gambas.
|
Caseless
|
Spécifie une concordance insensible à la casse.
|
DollarEndOnly
|
Spécifie que l’expression dollar ($) ne doit pas concorder avec une nouvelle ligne à la fin d’une chaîne sujet, mais seulement la fin de la chaîne actuelle. Par défaut, un dollar concorde avec la fin de la chaîne avec ou sans une nouvelle ligne le précédant.
|
DotAll
|
Spécifie que l'expression régulière point (.) correspond à la fin de ligne, vous permettant ainsi de traiter un texte multi-ligne comme une longue ligne.
|
Extended
|
Spécifie la syntaxe expressions regulières étendues . Dans ce mode, les blancs et les commentaires sont autorisés à l'intérieur de vos expressions régulières. Les commentaires sont dans le style Perl, c'est à dire qu'ils commencent par un dièse (#) et continuent jusqu'à la ligne suivante.
|
Extra
|
Cette option de compilation a été inventée pour activer des fonctionnalités additionnelles de PCRE qui sont incompatibles avec Perl, mais actuellement très peu utilisées.
|
Greedy
|
|
MatchLimit
|
Specifie le nombre maximum de concordances à retourner.
|
MultiLine
|
Spécifie que le texte sujet est multiligne, ainsi les modificateurs caret (^) et dollar ($) concorderont avec les débuts et fins de lignes n’importe où à l’intérieur du texte.
|
NoAutoCapture
|
Si cette option de compilation est spécifiée, elle inhibe l'utilisation de parenthèses de capture dénombrées dans le patron.
|
NoMatch
|
Cette constante d'erreur PCRE n'est pas utilisée dans Gambas (pas encore.)
|
NoMemory
|
Cette constante d'erreur de PCRE n'est pas (encore) utilisée dans Gambas.
|
NoSubstring
|
Cette constante d'erreur de PCRE n'est pas (encore) utilisée dans Gambas
|
NoUTF8Check
|
Quand l'option UTF8 est activée, la validité du patron en tant que chaîne UTF-8 est automatiquement vérifiée.
|
NotBOL
|
Avec la constante MultiLine spécifiée, indique que l’expression caret (^) ne doit pas concorder avec le début de la chaîne. Sans la constante MultiLine, indique que le caret ne doit jamais concorder avec quoique ce soit.
|
NotEOL
|
Avec la constante MultiLine spécifiée, indique que l’expression dollar ($) ne doit pas concorder avec la fin de la chaîne. Sans la constante MultiLine, indique que le dollar ne doit jamais concorder avec quoique ce soit.
|
NotEmpty
|
Une chaîne vide n'est pas considérée comme une concordance valide si cette option est activée. Sil y a des choix dans le patron, ils sont essayés. Si tous les choix concordent avec la chaîne vide la concordance entière échoue.
|
Null
|
Cette constante d'erreur PCRE n'est pas (encore) utilisé dans Gambas.
|
UTF8
|
Cette option force PCRE à considérer le patron et la chaîne sujet, toutes deux, comme des chaînes de caractères UTF-8 au lieu de chaînes de caractères simple octet. Cependant, elle n'est disponible que lorsque PCRE est compilé pour inclure la prise en charge UTF-8. Sinon, l'utilisation de cette option provoque une erreur.
|
Ungreedy
|
Spécifie une concordance non gourmande par défaut, comme si chaque modificateur de répétition était suivi de "?". Par exemple, avec un sujet tel que "aabaaaab" et un motif "a.+b", par défaut la concordance serait la chaîne entière, mais avec Ungreedy spécifié, la recherche retournera "aab".
|
UnknownNode
|
Cette constante d'erreur PCRE n'est pas utilisée dans Gambas (pas encore.)
|
Méthodes statiques
Propriétés
Count
|
|
Error
|
|
Offset
|
Retourne le décalage du début de concordance, c.a.d. combien de caractères la précède dans la chaîne sujet.
|
Pattern
|
Retourne le motif de l'expression regulière.
|
SubMatches
|
Une sous-concordance est une partie de votre motif situé entre des parenthèses. Par exemple, soit le motif "brun (S+)", le premier et seul élément dans la collection des sous-concordance sera le mot suivant "brun" dans le texte sujet. Avec le sujet "Renard brun rapide", SubMatches[0] contiendra "rapide" et Submatches.Count vaudra 1.
|
Subject
|
Retourne le sujet de l'expression regulière.
|
Text
|
Contient le texte retourné par la comparaison. Avec le sujet "quick brown fox" et le motif "brown (\S+)", Text contiendra "brown fox".
|
Méthodes
Compile
|
Compile et Exec sont tous deux appelés automatiquement, si vous spécifiez un motif et un texte sujet en créant un objet RegExp.
|
Exec
|
Exec vous permet d'exécuter une expression régulière précédemment compilée envers un texte sujet. C’est surtout utile quand vous avez beaucoup de textes différents que vous voulez traiter, car vous pouvez compiler l’expression régulière une seule fois et utiliser Exec de manière répétitive pour accroître la vitesse.
|
Exemple
Soit l’expression régulière :
et la chaîne de recherche :
Portez ce vieux whisky au juge blond qui fume.
la propriété
Text
de votre objet Regexp sera :
et sa propriété
Submatches[1].Text
sera :
C'est juste un exemple simple de ce que les expressions régulières peuvent faire pour vous lors de l'analyse syntaxique des entrées textuelles ; ce sont vraiment de très puissants outils. Par exemple, l'expression régulière suivante vous permet d'extraire les adresses e-mail valides :
(?i)\b[a-z0-9._%\-]+@[a-z0-9._%\-]+\.[A-Z]{2,4}\b
Voir aussi