Path: ...!news.mixmin.net!aioe.org!K7PIs9tCGQ+WHJa7e6BylQ.user.46.165.242.75.POSTED!not-for-mail From: Alain Ketterlin Newsgroups: fr.comp.lang.python Subject: Re: =?utf-8?B?UHJvcHJpw6l0w6lz?= Unicode dans les regex Python Date: Wed, 09 Nov 2022 14:13:37 +0100 Organization: =?utf-8?Q?Universit=C3=A9?= de Strasbourg Message-ID: <87iljo2rum.fsf@universite-de-strasbourg.fr.invalid> References: <63680b04$0$3005$426a74cc@news.free.fr> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: gioia.aioe.org; logging-data="7084"; posting-host="K7PIs9tCGQ+WHJa7e6BylQ.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org"; User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) Cancel-Lock: sha1:8qwcocq3j8Eoiy1YuQUpfnyZ2Oc= X-Notice: Filtered by postfilter v. 0.9.2 Bytes: 2297 Lines: 34 Olivier Miakinen writes: > Le 09/11/2022 09:33, Stefan Ram a =C3=A9crit : >>=20 >> Si l'installation de modules suppl=C3=A9mentaires n'est >> pas envisageable, il existe aussi une possibilit=C3=A9=20 >> avec l'installation habituelle de Python sans modules >> suppl=C3=A9mentaires, mais pas avec les expressions=20 >> r=C3=A9guli=C3=A8res seules. >>=20 >> import unicodedata >>=20 >> source =3D "abcdEfgh" >> for i, ch in enumerate( source ): >> if unicodedata.category( ch )=3D=3D 'Lu': >> print( i, ch ) >>=20 > > Tr=C3=A8s int=C3=A9ressant ! Merci pour cela. > D'apr=C3=A8s https://www.compart.com/en/unicode/category/Lu il y a 1791 caract=C3=A8res Unicode dans la cat=C3=A9gorie Lu. Donc si tu veux construi= re une expression r=C3=A9guli=C3=A8re re en rempla=C3=A7ant "\p{Lu}" par "[.....]"= dans une expression r=C3=A9guli=C3=A8re pcre, tu vas aboutir =C3=A0 une expression = =C3=A9norme... Mais effectivement, si tu n'as pas vraiment besoin d'une expression r=C3=A9guli=C3=A8re et que le test de correspondance peut =C3=AAtre fait "= =C3=A0 la main", c'est une solution. -- Alain.