Expressions régulières (pour grep, find et autres)

. (dot) 1 caractère (idem ?)
"m.a" matche avec "mpa" et "mea" mais pas "ma" ou "mppa".
\ (backslash) pour escape (protection car spécial)
\\ donne \
.* (dot et asterisk) (idem *)
* (asterisk) n* match n, nn, nnnn,et nnnnnnn mais pas na ou autre car

^ (caret)

$ (dollar sign)

début ligne: "^a" trouve la ligne qui commence par un "a"

fin de ligne.

[ ] (square brackets) étandue (de type ou)
m[a,o,u]m -> mam, mum, mom ie commence et termine par m
m[a-d]m    -> commence et termine par m, et entre: soit a, b, c ou d
| (pipe) pour recherche xx ou xy. si le shell comprend pipe, faire \|
[^] (idem [!]  Non logique).
rm myfile[^9] efface myfiles1, myfiles2... sauf s'il y a un 9 dans nom fichier

faire man grep pour voir ex catégories de car ([:upper:] et [:lower:] pour casse, [:digit:] ...)

 

voir aussi http://abs.traduc.org/abs-5.0-fr/ch17.html http://www.linux-pour-lesnuls.com/regex.php ...

ex pour isbn ^ISBN\s(?=[-0-9xX ]{13}$)(?:[0-9]+[- ]){3}[0-9]*[xX0-9]$ (source http://regexlib.com/Search.aspx?k=isbn&c=-1&m=4&ps=20