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 | modele="2\*8\+1" ' recherche la chaîne 2*8+1 |
^ | Symbolise le début d'une chaîne de caractères | modele="^Le" ' recherche Le en début de phrases |
$ | Symbolise la fin d'une chaîne de caractères | 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 | 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 | modele="\t+" ' recherche de une à plusieurs tabulations |
? | Le caractère précédent est optionnel | modele="mots?" ' recherche mot au singulier ou au pluriel |
. | Le caractère représente un caractère quelconque sauf un saut de ligne | modele=".n.?" ' recherche tous les mots de deux ou éventuellement de trois lettres contenant un n au centre comme en ou une |
(modèle) | Les parenthèses divisent le modèle en plusieurs zones accessibles par les propriétés $n | modele="VB(Script)?" ' recherche le mot VBScript ou VB |
(?:modèle) | Le modèle recherche une correspondance sans la stocker | modele="\b.*(?:Script)" ' recherche le mot VBScript ou JavaScript ou encore JScript |
(?=modèle) | Le modèle trouve une chaîne de recherche contenant le modèle sans que ce-dernier fasse parti du résultat | modele="Cent(?=Francs|Euros)" ' trouve la chaîne cent de Cent Francs ou Cent de Cent Euros |
(?!modèle) | Le modèle trouve une chaîne de recherche ne contenant pas le modèle sans que ce-dernier fasse parti du résultat | modele="Cent(?!Francs|Euros)?" ' trouve le mot Cent de Cent Dollars mais pas Cent de Cent Francs |
x|y | le pipe agît comme un OU, une des possibilités doit être trouvée | modele="html|css" ' recherche html ou css ou les deux |
{n} | Le caractère précédent doit être trouvé un nombre n fois | 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 | 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 | modele="10{1,}" ' recherche un nombre de 10 à 10n |
[...] | Les crochets contiennent des caractères, dont l'un doit être trouvé | 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é | 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 | modele="exécut[^(ion)]" ' ne recherche pas le mot exécution mais exécuta ou exécuter, etc. |
\b | La recherche s'effectue sur les limites d'un mot comme un espace ou une nouvelle ligne | 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 | 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 |
\d | La recherche s'effectue sur un chiffre quelconque de 0 à 9 | modele="\d000" ' recherche un nombre comme 1000, 2000, etc. |
\D | La recherche porte sur un caractère quelconque hormis un chiffre de 0 à 9 | 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 | modele="\f" ' recherche un saut de page |
\n | La recherche porte sur un caractère de saut de ligne | modele="\.\n" ' recherche un saut de ligne après un point |
\r | La recherche porte sur un retour charriot | 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. | 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. | modele="\S" ' recherche tous les caractères sauf ceux-ci [^\f\n\r\t\v]. |
\t | La recherche porte sur une tabulation | modele="\t" ' recherche une tabulation |
\v | La recherche porte sur un tabulation verticale | modele="\v" ' recherche une tabulation verticale |
\w | La recherche porte sur tous caractères faisant partie d'un mot | 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 | modele="\W" ' recherche un caractère sauf ceux-ci [^A-Za-z0-9_] |
\n | Le nombre n correspond à une valeur d'échappement octale | modele="\011" ' recherche le caractère d'échappement tabulation |
\num | Le nombre numcorrespond à un entier positif | modele="(,)\1" ' recherche deux caractères virgules consécutifs |
\xhex | Cette formulation permet de trouver un caractère par son code octal ou hexadécimal | modele="\x0028ASCII\x0029" ' recherche le mot ASCII entre des parenthèses |