jeudi 29 octobre 2009

Regular expression en Python

Voici deux très bonnes références pour l'utilisation d'expression régulière en Python.
Utiliser des raw string avec les regular expression
Pour facilité l'écriture des regular expressions, il est préférable d'utiliser les raw string de Python.
Les raw strings sont précédées d'un r et informe le compilateur que le caractère  "\" dans la string n'initie pas une séquence d'échappement Python.
# avec raw string
if re.search(r'\tok', item)>0

# sans raw string
if re.search('\\tok', item)>0
Sans raw string, il est nécessaire de doubler le \ (ce qui donne \\) pour que Python interprète la séquence d'échappement \\ (soit \+\) comme un simple \ qu'il envoi alors au module d'expression régulière.
L'utilisation des raw strings dans les régulars expressions permet de s'émanciper d'une situation communément dénommée "The Back Slash Hell".

Plus d'information
Voir le site de documentation  docs.python.org
A voir également: la section string services de docs.python.org abordant les strings sous toutes leurs formes (StringIO, Codes, Regular expression, template, formattage, etc)

Aucun commentaire: