Jul 03, 2024

Wiki

Python

Aide

edit SideBar

Search

Les Metacaracteres


Quelques métacaractères

La plupart des caractères sont reconnus comme tels dans une expression rationnelle.

Les métacaractères, qui signifient autres choses qu'eux mêmes, sont les suivants :

. ^ \$ * + ? { [ ] \ | ( )

Les crochets [ ]

Ils servent à définir un ensemble de caractères. Par exemple, [abc] signifie « a, ou b, ou c».

On peut utiliser le tiret - pour étendre l'ensemble. Ainsi, [c-g] signifie « les lettres minuscules de c à g », quand [a-z], [0-9] veulent respectivement dire « les lettres minuscules » et « les chiffres ».

À l'intérieur de crochets, la plupart des métacaractères perdent leur sens. Par exemple, [akm*] reconnaîtra a, k, m, ou * : l'étoile ne signifie pas ici « un nombre quelconque ».

Le métacaractère ^ joue un rôle différent de celui qui est habituellement le sien, quand il est dans des crochets. Il joue le rôle de complémentaire d'ensemble : [^5] signifie « tout caractère qui n'est pas 5 ».

Le backslash

Le backslash \ permet d'échaper les métacaractères :

  • \[ signifie « le caractère [ »,
  • \\ signifie « le caractère \ »,
  • etc.

D'autres part, certaines séquences spéciales commencent par le caractère backslash :

\d
Tout chiffre, équivalent à [0-9].
\D
Tout caractère qui n'est pas un chiffre : [^0-9].
\s
Tout caractère d'espacement : [ \t\n\r\f\v].
\S
Le contraire de ce qui précède : [^ \t\n\r\f\v].
\w
Tout caractère alphanumérique [a-zA-Z0-9_].
\W
Le contraire de ce qui précède : [^a-zA-Z0-9_].

On peut insérer ces séquences au sein de classes (entre crochet). Par exemple, [\s,.] signifie « tout espace, ou une virgule, ou un point ».

Le point .

Le point . est un métacaractère dont le sens signifie :

« tout caractère qui n'est pas un \n ».

Un mode alternatif existe (re.DOTALL), dans lequel . signifie « tout caractère ».

Page Actions

Recent Changes

Group & Page

Back Links