Sujet : Re: Propriétés Unicode dans les regex Python
De : alain (at) *nospam* universite-de-strasbourg.fr.invalid (Alain Ketterlin)
Groupes : fr.comp.lang.pythonDate : 06. Nov 2022, 10:24:28
Autres entêtes
Organisation : Université de Strasbourg
Message-ID : <87mt94306r.fsf@universite-de-strasbourg.fr.invalid>
References : 1
User-Agent : Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux)
Olivier Miakinen <om+
news@miakinen.net> writes:
Je viens de me rendre compte que dans Python 3.8.10 les propriétés Unicode
\p{xx} et \P{xx} ne sont pas supportées dans les regex :
>
<https://www.pcre.org/original/doc/html/pcresyntax.html#SEC4>
<https://www.pcre.org/original/doc/html/pcresyntax.html#SEC5>
>
>
J'obtiens :
File "/usr/lib/python3.8/sre_parse.py", line 426, in _escape
raise source.error("bad escape %s" % escape, len(escape))
re.error: bad escape \p at position 0
Oui, re ne fournit qu'une partie des "escapes" de pcre (il manque aussi
\h et \v et d'autres).
Est-ce que quelqu'un sait si c'est supporté dans une autre version de
Python, ou s'il est prévu que ça le soit un jour ?
Je ne sais pas, mais je sais qu'une bibliothèque du niveau de PCRE est
un très gros boulot, et pas forcément une priorité pour Python
j'imagine.
Cela étant, la doc mentionne une bibliothèque "regex", qui apparemment a
bonne réputation. Je n'en sais pas plus.
https://docs.python.org/3/library/re.html ("See also" à la fin de l'intro)
https://stackoverflow.com/questions/7063420/perl-compatible-regular-expression-pcre-in-python(Le second lien est une réponse ancienne, mais qui me semble bien
informée.)
-- Alain.