« Modèle:Regex » : différence entre les versions
Contenu supprimé Contenu ajouté
Aucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 11 : | Ligne 11 : | ||
Les expressions rationnelles peuvent être analysées et testées via un débogueur en ligne comme https://regex101.com/. |
Les expressions rationnelles peuvent être analysées et testées via un débogueur en ligne comme https://regex101.com/. |
||
{| class="wikitable" |
{| class="wikitable altlines1" |
||
|+ Expressions rationnelles courantes |
|+ Expressions rationnelles courantes |
||
! Caractère |
! Caractère |
||
! Type |
! Type |
||
! Explication |
! Explication |
||
| |
|- |
||
| . |
| . |
||
| Point |
| Point |
||
| n'importe quel caractère |
| n'importe quel caractère |
||
|- |
|||
|-{{ligne grise}} |
|||
| [...] |
| [...] |
||
| 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>. |
||
| |
|- |
||
| [^...] |
| [^...] |
||
| 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. |
||
|- |
|||
|-{{ligne grise}} |
|||
| ^ |
| ^ |
||
| circonflexe |
| circonflexe |
||
| marque le début de la chaine, la ligne... |
| marque le début de la chaine, la ligne... |
||
| |
|- |
||
| $ |
| $ |
||
| dollar |
| dollar |
||
| marque la fin d'une chaine, ligne... |
| marque la fin d'une chaine, ligne... |
||
|- |
|||
|-{{ligne grise}} |
|||
| <nowiki>|</nowiki> |
| <nowiki>|</nowiki> |
||
| barre verticale |
| barre verticale |
||
| alternative - ou reconnaît l'un ou l'autre |
| alternative - ou reconnaît l'un ou l'autre |
||
| |
|- |
||
| (...) |
| (...) |
||
| 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 |
||
|- |
|||
|-{{ligne grise}} |
|||
| * |
| * |
||
| astérisque |
| astérisque |
||
| 0, 1 ou plusieurs occurrences |
| 0, 1 ou plusieurs occurrences |
||
| |
|- |
||
| + |
| + |
||
| le plus |
| le plus |
||
| 1 ou plusieurs occurrences |
| 1 ou plusieurs occurrences |
||
|- |
|||
|-{{ligne grise}} |
|||
| ? |
| ? |
||
| interrogation |
| interrogation |
||
Ligne 70 : | Ligne 70 : | ||
! Classe |
! Classe |
||
! Signification |
! Signification |
||
| |
|- |
||
|<nowiki>[[:alpha:]]</nowiki> |
|<nowiki>[[:alpha:]]</nowiki> |
||
|n'importe quelle lettre |
|n'importe quelle lettre |
||
| |
|- |
||
|<nowiki>[[:digit:]]</nowiki> |
|<nowiki>[[:digit:]]</nowiki> |
||
|n'importe quel chiffre |
|n'importe quel chiffre |
||
| |
|- |
||
|<nowiki>[[:xdigit:]] </nowiki> |
|<nowiki>[[:xdigit:]] </nowiki> |
||
|caractères hexadécimaux |
|caractères hexadécimaux |
||
| |
|- |
||
|<nowiki>[[:alnum:]]</nowiki> |
|<nowiki>[[:alnum:]]</nowiki> |
||
|n'importe quelle lettre ou chiffre |
|n'importe quelle lettre ou chiffre |
||
| |
|- |
||
|<nowiki>[[:space:]]</nowiki> |
|<nowiki>[[:space:]]</nowiki> |
||
|n'importe quel espace blanc |
|n'importe quel espace blanc |
||
| |
|- |
||
|<nowiki>[[:punct:]]</nowiki> |
|<nowiki>[[:punct:]]</nowiki> |
||
|n'importe quel signe de ponctuation |
|n'importe quel signe de ponctuation |
||
| |
|- |
||
|<nowiki>[[:lower:]] </nowiki> |
|<nowiki>[[:lower:]] </nowiki> |
||
|n'importe quelle lettre en minuscule |
|n'importe quelle lettre en minuscule |
||
| |
|- |
||
|<nowiki>[[:upper:]] </nowiki> |
|<nowiki>[[:upper:]] </nowiki> |
||
|n'importe quelle lettre capitale |
|n'importe quelle lettre capitale |
||
| |
|- |
||
|<nowiki>[[:blank:]]</nowiki> |
|<nowiki>[[:blank:]]</nowiki> |
||
|espace ou tabulation |
|espace ou tabulation |
||
| |
|- |
||
|<nowiki>[[:graph:]] </nowiki> |
|<nowiki>[[:graph:]] </nowiki> |
||
|caractères affichables et imprimables |
|caractères affichables et imprimables |
||
| |
|- |
||
|<nowiki>[[:cntrl:]]</nowiki> |
|<nowiki>[[:cntrl:]]</nowiki> |
||
|caractères d'échappement |
|caractères d'échappement |
||
| |
|- |
||
|<nowiki>[[:print:]]</nowiki> |
|<nowiki>[[:print:]]</nowiki> |
||
|caractères imprimables exceptés ceux de contrôle |
|caractères imprimables exceptés ceux de contrôle |
Version du 14 juin 2020 à 17:53
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 ":;<=>?@"[1].
|
[^...] | crochets et circonflexe | classe complémentée : tous les caractères sauf ceux énumérés. |
^ | circonflexe | marque le début de la chaine, la ligne... |
$ | dollar | marque la fin d'une chaine, 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 |
+ | le 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.
|
Remarques :
- Les caractères de débuts et fin de chaines (
^
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[2].
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 chaine |
\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 chaine |
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 :((?!sous-chaine_exclue).)
<(?!body).*>
: pour avoir toutes les balises HTML sauf "body".début((?!mot_exclu).)*fin
[5] : pour rechercher tout ce qui ne contient pas un mot entre deux autres.