17.12.2012 Views

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

Programmation PYTHON - Zenk - Security - Repository

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

326<br />

La bibliothèque standard<br />

TROISIÈME PARTIE<br />

subn(pattern, repl, string[, count]) : équivalente à sub() mais renvoie un<br />

tuple (nouvelle chaîne, nombre de remplacements) au lieu de la chaîne.<br />

Classe SRE_Pattern<br />

La classe SRE_Pattern, contient une expression régulière compilée, et accélère les<br />

traitements lorsqu’elle est utilisée plusieurs fois. Cette classe fournit en méthodes<br />

toutes les fonctions ci-dessus, et le paramètre pattern n’est plus à fournir.<br />

Pour les méthodes de recherche, rappelées ci-dessous, deux paramètres optionnels supplémentaires,<br />

pos et endpos, servent à délimiter une sous-chaîne de recherche. Il n’est<br />

également plus nécessaire de définir les flags, puisqu’ils sont donnés à compile() :<br />

match(string[, pos[, endpos]]) ;<br />

search(string[, pos[, endpos]]) ;<br />

findall(string[, pos[, endpos]]) ;<br />

finditer(string[, pos[, endpos]]).<br />

Compilation de motif<br />

>>> import re<br />

>>> motif = re.compile(r'\d{2}')<br />

>>> motif.findall('voici 32 bananes et 125 carottes, de quoi faire 3<br />

gloubiboulga')<br />

['32', '12']<br />

>>> motif.findall('rajoute quand même 18 navets')<br />

['18']<br />

Classe MatchObject<br />

La classe MatchObject, quant à elle, est retournée par les fonctions ou méthodes<br />

match() et search(), et est utilisée dans sub() et subn().<br />

Elle offre un certain nombre de méthodes :<br />

group([group1, ...]) : renvoie un ou plusieurs groupes du résultat de l’expression<br />

régulière. group() peut recevoir en paramètre des indices de groupes, ou leurs<br />

noms lorsqu’ils ont été définis. Sans aucun paramètre, renvoie toute la chaîne.<br />

groups([default]) : renvoie un tuple contenant tous les groupes. Si defaut est<br />

fourni, c’est le nom ou l’indice d’un groupe qui n’a pas participé au motif.<br />

groupdict([default]) : équivalente à groups(), mais renvoie uniquement les groupes<br />

nommés, sous la forme d’un dictionnaire dont les clés sont les noms des groupes.<br />

start([group]) : renvoie l’indice du premier caractère intercepté dans la chaîne.<br />

Si group est fourni, c’est un entier ou un nom qui identifie le groupe dans lequel<br />

chercher. start() recherche dans toute la séquence.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!