Classes de caractères d'expression rationnelle
Créations de classe de caractères
Une classe de caractères vous permet d'indiquer un ensemble de caractères, placé entre crochets, pouvant produire une correspondance de caractères unique. Une classe de caractères correspond à un seul caractère. Par exemple,
gr[ae]y
correspondra à gray
ou grey
, mais pas à graay
ou graey
. L'ordre des caractères entre crochets n'a pas d'importance.Vous pouvez utiliser un tiret à l'intérieur d'une classe de caractères pour indiquer une plage de caractères. Exemple :
[a-z]
correspond à une seule lettre minuscule entre a
et z
. Vous pouvez également utiliser plusieurs plages ou une combinaison de plages et de caractères uniques. Exemple : [0-9X]
correspond à un chiffre ou à la lettre X
. L'ordre des caractères et des plages n'a pas d'importance.Un caret suivant un crochet ouvrant indique les caractères à exclure d'une correspondance. Par exemple,
[^abc]
correspond à n'importe quel caractère sauf a
, b
, ou c
.Création | Type | Description |
|---|---|---|
[
abc ] | Simple | Correspondances a ou b ou c
|
[^abc]
| Négation | correspond à n'importe quel caractère sauf a ou b ou c
|
[a-zA-Z]
| Fourchette | Correspondances a jusqu'à z , ou A jusqu'à Z (inclus) |
[a-d[m-p]]
| Syndicat | Correspondances a jusqu'à d , ou m jusqu'à p
|
[a-z&&[def]]
| Intersection | Correspondances d , e , ou f
|
[a-z&&[^xq]]
| Soustraction | Correspondances a jusqu'à z , à l'exception de x et q
|
Classes de caractères prédéfinies
Les classes de caractères prédéfinies sont des raccourcis utiles pour les expressions rationnelles couramment utilisées.
Création | Description | Exemple |
|---|---|---|
.
| correspond à n'importe quel caractère unique (sauf à la nouvelle ligne) | .at correspond à "cat", "cat" et également "batch" dans l'expression "fichiers de lots" |
\d
| correspond à n'importe quel caractère de chiffre (équivalent à [0-9] ) | \d correspond à "3" dans "C3PO" et "2" dans "file_2.txt" |
\D
| correspond à tout caractère autre qu'un chiffre (équivalent à [^0-9] ) | \D correspond à "S" dans "900S" et "Q" dans "Q45" |
\s
| correspond à n'importe quel caractère d'espace blanc unique (équivalent à [ \t\n\x0B\f\r] ) | \sbook correspond à "book" dans " redbook bleu " mais rien dans " notebook " |
\S
| correspond à n'importe quel caractère unique autre qu'un espace blanc | \Sbook correspond à "book" dans "notebook" mais rien dans " Affectation bleue" |
\w
| correspond à n'importe quel caractère alphanumérique, y compris le tiret bas (équivalent à [A-Za-z0-9_] ) | r\w* correspond à "mm" et "racine" |
\W
| correspond à n'importe quel caractère non alphanumérique (équivalent à [^A-Za-z0-9_] ) | \W correspond à "&" dans "stmd &", "%" dans "100%" et "$" dans "$HOME" |
Classes de caractères POSX (US-ASCII)
POS moment contient un ensemble de classes de caractères qui dénotent certaines plages communes. Ils sont similaires aux classes de caractères prédéfinies et entre crochets, sauf qu'ils prennent en compte les paramètres régionaux (langues/codes locaux).
Création | Description |
|---|---|
\p{Lower}
| Une lettre minuscule, [a-z]
|
\p{Upper}
| Une lettre majuscule, [A-Z]
|
\p{ASCII}
| Un caractère ASCII, [\x00-\x7F]
|
\p{Alpha}
| Lettre, [a-zA-z]
|
\p{Digit}
| Un chiffre, [0-9]
|
\p{Alnum}
| Un caractère alphanumérique, [a-zA-z0-9]
|
\p{Punct}
| Un caractère de ponctuation, l'un des !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
|
\p{Graph}
| Un caractère visible, [\p{Alnum}\p{Punct}]
|
\p{Print}
| Un caractère imprimable, [\p{Graph}\x20]
|
\p{Blank}
| Un espace ou un onglet, [ t]
|
\p{Cntrl}
| Un caractère de contrôle, [\x00-\x1F\x7F]
|
\p{XDigit}
| Un chiffre hexadécimal, [0-9a-fA-F]
|
\p{Space}
| Un caractère d'espace blanc, [ \t\n\x0B\f\r]
|