« Modèle:Regex » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 18 : | Ligne 18 : | ||
! Explication |
! Explication |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''.'''</code> |
|||
| . |
|||
| Point |
| Point |
||
| n'importe quel caractère |
| n'importe quel caractère |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''['''...''']'''</code> |
|||
| [...] |
|||
| crochets |
| crochets |
||
| {{wt|classe de caractères}} : tous les caractères énumérés dans la classe, avec possibilité de plages dont les bornes sont séparées par "-". Ex : <code>[0-9a-z]</code> pour tout l'alphanumérique en minuscule, ou <code>[0-Z]</code> pour tous les caractères de la table Unicode entre "0" et "Z", c'est-à-dire l'alphanumérique majuscule plus ":;<=>?@"<ref>https://unicode-table.com/fr/</ref>. |
| {{wt|classe de caractères}} : tous les caractères énumérés dans la classe, avec possibilité de plages dont les bornes sont séparées par "-". Ex : <code>[0-9a-z]</code> pour tout l'alphanumérique en minuscule, ou <code>[0-Z]</code> pour tous les caractères de la table Unicode entre "0" et "Z", c'est-à-dire l'alphanumérique majuscule plus ":;<=>?@"<ref>https://unicode-table.com/fr/</ref>. |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''[^'''...''']'''</code> |
|||
| [^...] |
|||
| crochets et circonflexe |
| crochets et circonflexe |
||
| {{wt|classe complémentée}} : tous les caractères sauf ceux énumérés. |
| {{wt|classe complémentée}} : tous les caractères sauf ceux énumérés. |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''^'''</code> |
|||
| ^ |
|||
| circonflexe |
| circonflexe |
||
| marque le début de la |
| marque le début de la chaîne, la ligne... |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''$'''</code> |
|||
| $ |
|||
| dollar |
| dollar |
||
| marque la fin d'une |
| marque la fin d'une chaîne, ligne... |
||
|- |
|- |
||
| <nowiki>|</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>|</nowiki>'''</code> |
||
| barre verticale |
| barre verticale |
||
| alternative - ou reconnaît l'un ou l'autre |
| alternative - ou reconnaît l'un ou l'autre |
||
|- |
|- |
||
| style="text-align:center;" | <code>(...)</code> |
|||
| (...) |
|||
| parenthèses |
| parenthèses |
||
| {{wt|groupe de capture}} : utilisée pour limiter la portée d'un masque ou de l'alternative |
| {{wt|groupe de capture}} : utilisée pour limiter la portée d'un masque ou de l'alternative |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''*'''</code> |
|||
| * |
|||
| astérisque |
| astérisque |
||
| 0, 1 ou plusieurs occurrences |
| 0, 1 ou plusieurs occurrences |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''+'''</code> |
|||
| + |
|||
| |
| plus |
||
| 1 ou plusieurs occurrences |
| 1 ou plusieurs occurrences |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''?'''</code> |
|||
| ? |
|||
| interrogation |
| interrogation |
||
| 0 ou 1 occurrence |
| 0 ou 1 occurrence |
||
|- |
|- |
||
| style="text-align:center;" | <code>'''{'''...'''}'''</code> |
|||
| {...} |
|||
| accolades |
| accolades |
||
| comptage : détermine un nombre de caractères remplissant les critères qu'il suit. Ex : <code>a{2}</code> deux occurrences de "a", <code>a{1,10}</code> (sans espace) entre une et dix. |
| comptage : détermine un nombre de caractères remplissant les critères qu'il suit. Ex : <code>a{2}</code> deux occurrences de "a", <code>a{1,10}</code> (sans espace) entre une et dix. |
||
|- |
|- |
||
| (?P<nom>pattern) |
| style="text-align:center;" | <code>'''(?P<'''''nom'''''>'''''pattern''''')'''</code> |
||
| Sous-motif nommé |
|||
| named subpattern |
|||
| nomme le résultat d'un groupe de capture par un nom. |
| nomme le résultat d'un groupe de capture par un nom. |
||
|} |
|} |
||
'''Remarques :''' |
'''Remarques :''' |
||
* Les caractères de |
* Les caractères de début et fin de chaîne (<code>^</code> et <code>$</code>) ne fonctionnent pas dans <code>[]</code> où ils ont un autre rôle. |
||
* Les opérateurs <code>*</code> et <code>+</code> sont toujours {{wt|avide}}s, pour qu'ils laissent la priorité il faut leur apposer un <code>?</code> à leur suite<ref>https://docstore.mik.ua/orelly/webprog/pcook/ch13_05.htm</ref>. |
* Les opérateurs <code>*</code> et <code>+</code> sont toujours {{wt|avide}}s, pour qu'ils laissent la priorité il faut leur apposer un <code>?</code> à leur suite<ref>https://docstore.mik.ua/orelly/webprog/pcook/ch13_05.htm</ref>. |
||
Ligne 76 : | Ligne 76 : | ||
! Signification |
! Signification |
||
|- |
|- |
||
|<nowiki>[[:alpha:]]</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:alpha:]]</nowiki>'''</code> |
||
|n'importe quelle lettre |
|n'importe quelle lettre |
||
|- |
|- |
||
|<nowiki>[[:digit:]]</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:digit:]]</nowiki>'''</code> |
||
|n'importe quel chiffre |
|n'importe quel chiffre |
||
|- |
|- |
||
|<nowiki>[[:xdigit:]] </nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:xdigit:]] </nowiki>'''</code> |
||
|caractères hexadécimaux |
|caractères hexadécimaux |
||
|- |
|- |
||
|<nowiki>[[:alnum:]]</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:alnum:]]</nowiki>'''</code> |
||
|n'importe quelle lettre ou chiffre |
|n'importe quelle lettre ou chiffre |
||
|- |
|- |
||
|<nowiki>[[:space:]]</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:space:]]</nowiki>'''</code> |
||
|n'importe quel espace blanc |
|n'importe quel espace blanc |
||
|- |
|- |
||
|<nowiki>[[:punct:]]</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:punct:]]</nowiki>'''</code> |
||
|n'importe quel signe de ponctuation |
|n'importe quel signe de ponctuation |
||
|- |
|- |
||
|<nowiki>[[:lower:]] </nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:lower:]] </nowiki>'''</code> |
||
|n'importe quelle lettre en minuscule |
|n'importe quelle lettre en minuscule |
||
|- |
|- |
||
|<nowiki>[[:upper:]] </nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:upper:]] </nowiki>'''</code> |
||
|n'importe quelle lettre capitale |
|n'importe quelle lettre capitale |
||
|- |
|- |
||
|<nowiki>[[:blank:]]</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:blank:]]</nowiki>'''</code> |
||
|espace ou tabulation |
|espace ou tabulation |
||
|- |
|- |
||
|<nowiki>[[:graph:]] </nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:graph:]] </nowiki>'''</code> |
||
|caractères affichables et imprimables |
|caractères affichables et imprimables |
||
|- |
|- |
||
|<nowiki>[[:cntrl:]]</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:cntrl:]]</nowiki>'''</code> |
||
|caractères d'échappement |
|caractères d'échappement |
||
|- |
|- |
||
|<nowiki>[[:print:]]</nowiki> |
| style="text-align:center;" | <code>'''<nowiki>[[:print:]]</nowiki>'''</code> |
||
|caractères imprimables exceptés ceux de contrôle |
|caractères imprimables exceptés ceux de contrôle |
||
|} |
|} |
||
Ligne 117 : | Ligne 117 : | ||
! Expression !! Signification |
! Expression !! Signification |
||
|- |
|- |
||
| \A || Début de |
| style="text-align:center;" | <code>'''\A'''</code> || Début de chaîne |
||
|- |
|- |
||
| \b || Caractère de début ou fin de mot |
| style="text-align:center;" | <code>'''\b'''</code> || Caractère de début ou fin de mot |
||
|- |
|- |
||
| \d || Chiffre |
| style="text-align:center;" | <code>'''\d'''</code> || Chiffre |
||
|- |
|- |
||
| \D || Non chiffre |
| style="text-align:center;" | <code>'''\D'''</code> || Non chiffre |
||
|- |
|- |
||
| \n || Fin de ligne |
| style="text-align:center;" | <code>'''\n'''</code> || Fin de ligne |
||
|- |
|- |
||
| \\pL, \p{L}, \p{Letter} || Lettre (dans tout langage) |
| style="text-align:center;" | <code>'''\\pL'''</code>, <code>'''\p{L}'''</code>, <code>'''\p{Letter}'''</code> || Lettre (dans tout langage) |
||
|- |
|- |
||
| \s || Caractères espace |
| style="text-align:center;" | <code>'''\s'''</code> || Caractères espace |
||
|- |
|- |
||
| \S || Non caractères espace |
| style="text-align:center;" | <code>'''\S'''</code> || Non caractères espace |
||
|- |
|- |
||
| \t || Tabulation |
| style="text-align:center;" | <code>'''\t'''</code> || Tabulation |
||
|- |
|- |
||
| \w || Caractère alphanumérique : lettre, chiffre ou underscore |
| style="text-align:center;" | <code>'''\w'''</code> || Caractère alphanumérique : lettre, chiffre ou underscore |
||
|- |
|- |
||
| \W || Caractère qui n'est pas lettre, chiffre ou underscore |
| style="text-align:center;" | <code>'''\W'''</code> || Caractère qui n'est pas lettre, chiffre ou underscore |
||
|- |
|- |
||
| \X || Caractère Unicode |
| style="text-align:center;" | <code>'''\X'''</code> || Caractère Unicode |
||
|- |
|- |
||
| \z || Fin de |
| style="text-align:center;" | <code>'''\z'''</code> || Fin de chaîne |
||
|} |
|} |
||
Version du 23 octobre 2021 à 11:52
- Cette documentation est incluse depuis Modèle:Regex/Documentation. [rafraîchir] · [modifier] · [historique]
Utilisation
{{Programmation/Regex}} ...exemple dans le langage de programmation considéré pour [0-9]+... {{Regex|clé_de_tri|nocat=1|type=type|syntaxe=variante}} ... == Références == {{Références}}
Paramètre optionnel :
- clé_de_tri
- Clé de tri dans Expressions rationnelles
- nocat=1
- Pour ne pas catégoriser dans Expressions rationnelles
- syntaxe=variante
- Variante de la syntaxe (générale par défaut). Valeurs possibles :
- type=type
- Type d'expression régulière : Unicode (par défaut) ou Bash.
Unicode | Bash | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
Voir aussi
- Modèle:Regex/Unicode
- Modèle:Regex/Bash
- Modèle:Programmation/Regex : Introduction sur les expression régulières, modèle à utiliser avant celui-ci.
Les expressions rationnelles peuvent être analysées et testées via un débogueur en ligne comme https://regex101.com/.
Caractère | Type | Explication |
---|---|---|
.
|
Point | n'importe quel caractère |
[...]
|
crochets | classe de caractères : tous les caractères énumérés dans la classe, avec possibilité de plages dont les bornes sont séparées par "-". Ex : [0-9a-z] pour tout l'alphanumérique en minuscule, ou [0-Z] pour tous les caractères de la table Unicode entre "0" et "Z", c'est-à-dire l'alphanumérique majuscule plus ":;<=>?@"[3].
|
[^...]
|
crochets et circonflexe | classe complémentée : tous les caractères sauf ceux énumérés. |
^
|
circonflexe | marque le début de la chaîne, la ligne... |
$
|
dollar | marque la fin d'une chaîne, ligne... |
|
|
barre verticale | alternative - ou reconnaît l'un ou l'autre |
(...)
|
parenthèses | groupe de capture : utilisée pour limiter la portée d'un masque ou de l'alternative |
*
|
astérisque | 0, 1 ou plusieurs occurrences |
+
|
plus | 1 ou plusieurs occurrences |
?
|
interrogation | 0 ou 1 occurrence |
{...}
|
accolades | comptage : détermine un nombre de caractères remplissant les critères qu'il suit. Ex : a{2} deux occurrences de "a", a{1,10} (sans espace) entre une et dix.
|
(?P<nom>pattern)
|
Sous-motif nommé | nomme le résultat d'un groupe de capture par un nom. |
Remarques :
- Les caractères de début et fin de chaîne (
^
et$
) ne fonctionnent pas dans[]
où ils ont un autre rôle. - Les opérateurs
*
et+
sont toujours avides, pour qu'ils laissent la priorité il faut leur apposer un?
à leur suite[4].
Classe | Signification |
---|---|
[[:alpha:]]
|
n'importe quelle lettre |
[[:digit:]]
|
n'importe quel chiffre |
[[:xdigit:]]
|
caractères hexadécimaux |
[[:alnum:]]
|
n'importe quelle lettre ou chiffre |
[[:space:]]
|
n'importe quel espace blanc |
[[:punct:]]
|
n'importe quel signe de ponctuation |
[[:lower:]]
|
n'importe quelle lettre en minuscule |
[[:upper:]]
|
n'importe quelle lettre capitale |
[[:blank:]]
|
espace ou tabulation |
[[:graph:]]
|
caractères affichables et imprimables |
[[:cntrl:]]
|
caractères d'échappement |
[[:print:]]
|
caractères imprimables exceptés ceux de contrôle |
Expression | Signification |
---|---|
\A |
Début de chaîne |
\b |
Caractère de début ou fin de mot |
\d |
Chiffre |
\D |
Non chiffre |
\n |
Fin de ligne |
\\pL , \p{L} , \p{Letter} |
Lettre (dans tout langage) |
\s |
Caractères espace |
\S |
Non caractères espace |
\t |
Tabulation |
\w |
Caractère alphanumérique : lettre, chiffre ou underscore |
\W |
Caractère qui n'est pas lettre, chiffre ou underscore |
\X |
Caractère Unicode |
\z |
Fin de chaîne |
Constructeurs spéciaux : Ces fonctions précèdent l'expression à laquelle elles s'appliquent, et le tout doit être placé entre parenthèses.
?:
: groupe non capturant. Ignorer le groupe de capture lors de la numérotation des backreferences. Exemple :((?:sous-chaine_non_renvoyée|autre).*)
.?>
: groupe non capturant indépendant.?<=
: positive lookbehind.?<!
: negative lookbehind.?=
: positive lookahead.?!
: negative lookahead. Exclusion d'une chaine. Il faut toujours la faire suivre d'un point. Exemples :
Références
- ↑ https://www.regular-expressions.info/unicode.html
- ↑ https://www.gnu.org/software/grep/manual/html_node/The-Backslash-Character-and-Special-Expressions.html
- ↑ https://unicode-table.com/fr/
- ↑ https://docstore.mik.ua/orelly/webprog/pcook/ch13_05.htm
- ↑ https://www.regular-expressions.info/posixbrackets.html
- ↑ http://www.regular-expressions.info/unicode.html
- ↑ https://www.regextester.com/15
- ↑ Jan Goyvaerts, Steven Levithan, Regular Expressions Cookbook, O'Reilly Media, Inc., (lire en ligne)