Как мне использовать re.UNICODE в Python 2.7? - PullRequest
0 голосов
/ 27 мая 2018

Я пытаюсь использовать флаг re.UNICODE для сопоставления строки, потенциально содержащей символы Юникода, но, похоже, она не работает.Например:

Python 2.7.12 (default, Dec  4 2017, 14:50:18) 
[GCC 5.4.0 20160609] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import re
>>> r = re.compile(ur"(\w+)", re.UNICODE)
>>> r.findall(u"test test test", re.UNICODE)
[]

Это работает, если я не укажу флаг Unicode, но тогда, очевидно, он не будет работать со строками Unicode.Что мне нужно сделать, чтобы это работало?

1 Ответ

0 голосов
/ 27 мая 2018

Второй аргумент r.findall - это не флаги, а pos.Вам не нужно указывать флаги снова, когда вы уже указали их в compile.

>>> r = re.compile(ur"(\w+)", re.UNICODE)
>>> r.findall(u'test test test')
[u'test', u'test', u'test']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...