Trouvé sur : publish.ez.no |
Les expressions régulières/rationnelles expliquées |
Cet article est une introduction au monde des expressions régulières. Je commencerai par expliquer ce que sont les expressions régulières et vous présenter leur syntaxe, puis quelques exemples de complexité variable, et enfin une liste des outils qui utilisent les expressions régulières.
[PUPPY/TOUTOU a un outil d'évaluation et d'étude des expressions régulières dans le menu Utilitaires]
abc |
123 |
\ | ( ) [ ] ^ $ * + ? . < > |
1.23 |
1x23 1 23 1-23 |
1\.23 |
* et + |
c* |
go |
c+ |
? |
cows? |
cow cows |
{n,m} |
{1,5} |
{1,} |
{5} |
^ et $ |
^The |
< et > |
cow |
cow coward cowage cowboy cowl |
<cow> |
( et ) |
( ?ho)+ |
ho ho ho ho ho ho hohoho |
| |
Bill|Linus|Steve|Larry |
cow(ard|age|boy|l)? |
cow coward cowage cowboy cowl |
((Donald|Dolly) Duck)|(Scrooge McDuck) |
[ et ] |
[a-z] |
[a-zA-Z0-9] |
<[a-zA-Z]+> |
cow Linus regular expression |
200 x-files C++ |
[^a-zA-Z0-9]+ |
\d, un chiffre [0-9] \D, un non-chiffre [^0-9] \w, un mot (alphanumérique) [A-zA-Z0-9] \W, un non-mot [^a-zA-Z0-9] \s, un espace [ \t\n\r\f] \S, un non-espace [^ \t\n\r\f] |
*.jpg |
*.[ch]pp |
.* |
*.jpg |
.*\.jpg |
ez*.[ch]pp |
ez.*\.[ch]pp |
ez.*\.(cpp|hpp) |
[a-z0-9_-]+(\.[a-z0-9_-]+)*@[a-z0-9_-]+(\.[a-z0-9_-]+)+ |
("?[a-zA-Z]+"?[ \t]*)+\<[a-z0-9_-]+(\.[a-z0-9_-]+)*@[a-z0-9_-]+(\.[a-z0-9_-]+)+\> |
[a-z]+:// |
^#include[ \t]+[<"][^>"]+[">] |
//.+$ |
/\*[^*]*\*/ |
-?[0-9]+\.[0-9]+ |
0x[0-9a-fA-F]+ |
grep -E "cow|vache" * >/dev/null && echo "Found a cow" |