Les caractères spéciaux permettent d'affiner une recherche, là où une expression régulière simple ne peut suffire.
Les caractères et autres symboles spéciaux représentent des caractères non-imprimables comme des sauts de lignes (\n), des tabulations (\t) ou des options particulières ou encore des plages de lettres ou de chiffres, etc.
Caractère | Description | Exemple |
---|---|---|
\\, \/, \*, \+, \?, etc. | Symbolise les caractères correspondants | var modele=/2\*8\+1/; //recherche la chaîne 2*8+1 |
^ | Symbolise le début d'une chaîne de caractères | var modele=/^Le/; //recherche Le en début de phrases |
$ | Symbolise la fin d'une chaîne de caractères | var modele=/\.$/; //recherche un point à la fin d'une chaîne de caractères |
* | Le caractère précédent peut intervenir de zéro à plusieurs fois | var modele=/10*/; //recherche les nombres commençant par 1 avec éventuellement des zéros |
+ | Le caractère précédent doit être trouvé de une à plusieurs fois | var modele=/\t+/; //recherche de une à plusieurs tabulations |
? | Le caractère précédent est optionnel | var modele=/mots?/; //recherche mot au singulier ou au pluriel |
. | Le caractère représente un caractère quelconque sauf un saut de ligne | var modele=/.n.?/; //recherche tous les mots de deux ou éventuellement de trois lettres contenant un n au centre comme en ou une |
() | Les parenthèses divisent le modèle en plusieurs zones | var modele=/java(script)?/; //recherche le mot javascript ou java |
x|y | Le pipe agît comme un OU, une des possibilités doit être trouvée | var modele=/html|css/; //recherche html ou css ou les deux |
{n} | Le caractère précédent doit être trouvé un nombre n fois | var modele=/continu{2}m/; //recherche le mot continuum |
{n,m} | Le caractère précédent doit être trouvé au moins n fois et au plus m fois | var modele=/10{3,9}/; //recherche d'un nombre de 103 ou de 109 |
{n, } | Le caractère précédent doit être trouvé au moins n fois et ou plus | var modele=/10{1,}/; //recherche un nombre de 10 à 10n |
[...] | Les crochets contiennent des caractères, dont l'un doit être trouvé | var modele=/parti[res]?/; //recherche l'un des mots suivants: parti, partir, partie ou partis |
[...-...] | Les crochets contiennent une plage de caractères dont l'un doit être trouvé | var modele=/[a-b]/; //recherche un caractère faisant partie des lettres minuscules |
[^...] | La recherche porte sur des caractères qui ne sont pas contenus entre les crochets | var modele=/exécut[^(ion)]/; //ne recherche pas le mot exécution mais exécuta ou exécuter, etc. |
[\b] | Le caractère recherché est un espace blanc | var modele=/[\b]\./; //recherche un espace avant un point |
\b | La recherche s'effectue sur les limites d'un mot comme un espace ou une nouvelle ligne | var modele=/x\b/; //recherche la lettre x suivie d'un espace ou d'un saut de ligne comme peaux, sceaux mais pas exiger |
\B | La recherche s'effectue sur un espace qui n'est pas placé entre un mot et un espace | var modele=/x/B/; //recherche la lettre x qui n'est pas suivie d'un espace ou d'un saut de ligne comme xylophone ou axe mais pas eux |
\cX | Où X est un caractère de contrôle. La recherche porte sur un caractère de contrôle dans une chaîne de caractères | var modele=/\cA/; //recherche un caractère de contrôle control-A |
\d | La recherche s'effectue sur un chiffre quelconque de 0 à 9 | var modele=/\d000/; //recherche un nombre comme 1000, 2000, etc. |
\D | La recherche porte sur un caractère quelconque hormis un chiffre de 0 à 9 | var modele=/10\D10/; //recherche une chaîne de caractère comme 10,10 ou 10.10 ou encore 10=10 |
\f | La recherche porte sur un saut de page | var modele=/\f/; //recherche un saut de page |
\n | La recherche porte sur un caractère de saut de ligne | var modele=/\.\n/; //recherche un saut de ligne après un point |
\r | La recherche porte sur un retour charriot | var modele=/\.\r/; //recherche un retour charriot après un point |
\s | Cette occurrence permet une recherche sur un espace, une tabulation, un saut de ligne, etc. | var modele=/\s/; //recherche un de ces caractères [\f\n\r\t\v]. |
\S | La recherche porte sur tous les caractères hormis, l'espace, la tabulation, le saut de ligne, etc. | var modele=/\S/; //recherche tous les caractères sauf ceux-ci [^\f\n\r\t\v]. |
\t | La recherche porte sur une tabulation | var modele=/\t/; //recherche une tabulation |
\v | La recherche porte sur un tabulation verticale | var modele=/\v/; //recherche une tabulation verticale |
\w | La recherche porte sur tous caractères faisant partie d'un mot | var modele=/\ws[\b]/; //recherche la lettre s entre un caractère [A-Za-z0-9_] et un espace |
\W | La recherche porte sur tous caractères ne faisant pas partie d'un mot | var modele=/\W/; //recherche un caractère sauf ceux-ci [^A-Za-z0-9_] |
/(...)...\n/ | Le nombre n permet de répéter le contenu entre parenthèses à l'endroit où il se situe | var modele=/(["']réussite\1)/; //recherche du mot réussite entre guillemets simples ou doubles devant et derrière |
\ooctal \xhex |
Cette formulation permet de trouver un caractère par son code octal ou hexadécimal | var modele=/\x0028ASCII\x0029/; //recherche le mot ASCII entre des parenthèses |