Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
general:regular_expression [2013/06/03 16:28] djiko |
general:regular_expression [2014/06/09 11:08] djiko |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
====== Les expressions régulières ====== | ====== Les expressions régulières ====== | ||
+ | |||
+ | ===== Déclarations ===== | ||
+ | Utilisables en l'état avec Python, sans doute avec d'autres technologies. | ||
+ | |||
+ | * **\d** : match n'importe quel chiffre | ||
+ | * **[...]** : match l'un des caractères exactement | ||
+ | * [abc] match a, b ou c | ||
+ | * [A-Z] match n'importe quelle lettre majuscule | ||
+ | * [A-Za-z] match n'importe quelle lettre, majuscule ou minuscule | ||
+ | * **{n}** répète n fois la séquence | ||
+ | * [A-Z]{3} match n'importe quelle séquence de 3 lettres majuscules consécutives | ||
+ | * [A-Z]{2-4} match n'importe quelle séquence de 2 à 3 lettres majuscules consécutives | ||
+ | * [A-Z]{2,} match n'importe quelle séquence à partir de 2 lettres majuscules consécutives | ||
+ | * **+** match l'élément marqué une fois ou plus, équivalent à {1,} | ||
+ | * ***** match l'élément marqué 0 fois ou plus, équivalent à {0,} | ||
+ | * **?** match l'élément marqué 0 ou 1 foisfois ou plus, équivalent à {0,1} | ||
+ | * **(...)** permet d'accéder au différents objets matchés | ||
+ | * (\d)-(\d) match 11 et permet d'accéder séparément aux deux chiffres grâce à group(n) (n>=1) | ||
+ | * **(?P<name>EXPRESSION)** nomme le groupe matché, (?P=name) permet de s'y référer | ||
===== Exemples ===== | ===== Exemples ===== | ||
Ligne 34: | Ligne 53: | ||
Les deux expressions ont le même format | Les deux expressions ont le même format | ||
* ^ -> l'expression est au début de la chaîne de caractère. Ici il s'agit d'URLS. Dans le cas de Django, le domaine n'est pas pris en compte. Les expressions fonctionneront par exemple pour http://mondomaine.ext/polls/ et http://mondomaine.ext/admin/ mais pas pour http://mondomaine.ext/TRUCENPLUS/admin/ | * ^ -> l'expression est au début de la chaîne de caractère. Ici il s'agit d'URLS. Dans le cas de Django, le domaine n'est pas pris en compte. Les expressions fonctionneront par exemple pour http://mondomaine.ext/polls/ et http://mondomaine.ext/admin/ mais pas pour http://mondomaine.ext/TRUCENPLUS/admin/ | ||
- | |||
- | ===== Avec Python ===== | ||
- | * | ||
- | <code> | ||
- | (?P<name>...) | ||
- | </code> |