Certain caractères sont spéciaux, on les appelle les 'metacharacters'.
-
le point '.' : représente n'importe quel caractère (pour rechercher '.' il faut indiquer '\.')
-
le point d'intérogation '?' : le caractère précédent ? est optionnel
-
l'étoile '*' : le caractère précédent * peut être répété 0 ou plusieurs fois
-
le plus '+' : le caractère précédent + peut être répété 1 ou plusieurs fois
-
dollars $ : le carcatère est à la fin d'une ligne
Le caractère '\' permet d'utiliser les caractères
. ? * + de manière normale. On utilisera '\.' pour rechercher seulement '.', '\?' pour rechercher '?', ...
Exemples :
-
Avec le point '.'
- 123.5 => 123.5, 12345, 123s5, 123-5
- 12..5 => 12345, 123s5, 123-5, 12564, 12.45
- 3.14 => 3.14, 3114, 3f14, ...
- 3\.14 => 3.14, ne trouve pas 3114, 3f14
-
Avec '?'
- 12?34 => 1234, 134
- les? chiens? => les chiens, le chien, les chien, le chiens
-
Avec '*'
- 12*34 => 134, 1234, 12234, 12222222234, ...
-
Avec '+'
- 12+34 => 1234, 12334, 12222222234, ... mais ne trouvera pas 134
-
Avec $
- toto$ => toute ligne finissant pas toto
-
Combinaisons et utilisation de '\'
- a\.*z => az, a.z, a..z, a.......z, mais ne trouvera pas abc
- a.\*z => ab*z, a2*z, la 2eme lettre peut être n'importe quoi
- a\++z => a+z, a++z, a+++z, a+++++++z mais ne trouvera pas az
- a\+\+z => a++z et rien d'autre
- a+\+z => a+z, aa+z, aaa+z, aaaaaaaa+z
- a.?e => ae, abe, a-e, axe, ...
- a\.?e => ae, a.e et rien d'autre
- a.\?e => a.?e, ab?e, aX?e, ...
- a\.\?e => a.?e et rien d'autre