Python ne supporte pas les propriétés Unicode, donc vous ne pouvez pas utiliser les propriétés Pi
et Pf
, donc je suppose que votre solution est aussi bon qu'il obtient.
Vous pouvez également prendre en considération les "guillemets faux" qui sont utilisés malheureusement -. L'accent aigu et grave (´
et `` ):
\ u0060 and
\ u00B4`
Ensuite, il y a guillemets (« » ‹ ›
De plus, votre commande a un petit bug: vous ajoutez la barre oblique inversée à la chaîne quotes
(parce que vous utilisez une chaîne brute). Chaîne de guillemets simples à la place
>>> quotes = ur"[\"'\u2018\u2019\u201c\u201d\u0060\u00b4]"
>>> "\\" in quotes
True
>>> quotes
u'[\\"\'\u2018\u2019\u201c\u201d`\xb4]'
>>> quotes = ur"""["'\u2018\u2019\u201c\u201d\u0060\u00b4]"""
>>> "\\" in quotes
False
>>> quotes
u'["\'\u2018\u2019\u201c\u201d`\xb4]'
Merci! Est-ce que Py3 supportera les propriétés Unicode? –
Pas encore; il y a une réécriture du module 're' en cours, mais je n'ai aucune idée quand/si elle sera fusionnée dans la branche de développement principale. Je doute qu'il sera là avant Python 3.3. –
Même s'ils ne sont pas encore disponibles dans le module 're', vous pouvez toujours importer le module' unicodedata' et faire 'quotes = '' .join (c pour c in (chr (i) pour i dans la plage (0x110000)) si unicodedata.category (c) dans ('Pf', 'Pi')) '. – dan04