Сопоставьте любую букву Unicode?
-
26-10-2019 - |
Вопрос
В .net вы можете использовать \p{L}
Чтобы соответствовать любому письму, как я могу сделать то же самое в Python? А именно, я хочу сопоставить любые прописные, строчные и акцентированные буквы.
Решение
Питон re
Модуль еще не поддерживает свойства Unicode. Но вы можете скомпилировать свою корпорацию, используя re.UNICODE
флаг, а затем сокращение класса персонажей \w
Сопоставят буквы Unicode.
С \w
Также будет соответствовать цифрам, вам нужно вычесть те из класса персонажа, а также подчеркивание:
[^\W\d_]
будет соответствовать любой букве Unicode.
>>> import re
>>> r = re.compile(r'[^\W\d_]', re.U)
>>> r.match('x')
<_sre.SRE_Match object at 0x0000000001DBCF38>
>>> r.match(u'é')
<_sre.SRE_Match object at 0x0000000002253030>
Не связан с StackOverflow