« Modèle:Regex » : différence entre les versions
Contenu supprimé Contenu ajouté
mAucun résumé des modifications |
Aucun résumé des modifications |
||
Ligne 144 : | Ligne 144 : | ||
'''Remarques :''' |
'''Remarques :''' |
||
* Les caractères de débuts et fin de chaines ne fonctionnent pas dans <code>[]</code> où ils ont un autre rôle. |
* Les caractères de débuts et fin de chaines (<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. |
* 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. |
||
Version du 2 mai 2019 à 19:36
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 |
[^...] | 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} entre une et dix)
|
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 |
\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 |
Autres fonctions :
?:
: ignorer le groupe de capture lors de la numérotation des backreferences. Exemple :((?:sous-chaine_non_renvoyée|autre).)
.?<=
: 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
[3] : pour rechercher tout ce qui ne contient pas un mot entre deux autres.
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.