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 |