您好,我想在以下字符串中使用 unicode utf-8 的正则表达式:
</td><td>عـــــــــــادي</td><td> 40.00</td>
我想挑选出“Seeـــــــــــ׀׀׀”
,我该怎么做?
我的代码是:
state = re.findall(r'td>...</td',s)
谢谢
最佳答案
我在尝试匹配俄语字符串时遇到了类似的情况。对于你的情况,米歇尔的回答很好。但是,如果您想使用 \w
和 \s
等特殊序列,则必须更改一些内容。我只是分享这个,希望对其他人有用。
>>> string = u"</td><td>Я люблю мороженое</td><td> 40.00</td>"
通过在引号前放置 u
使字符串成为 unicode
>>> pattern = re.compile(ur'>([\w\s]+)<', re.UNICODE)
将标志设置为 unicode,以便它也匹配 unicode 字符串(请参阅 docs )。
(或者,您可以使用本地语言设置范围。对于俄语,这将是 [а-яА-Я]
,因此:
pattern = re.compile(ur'>([а-яА-Я\s]+)<')
在这种情况下,您不必再设置标志,因为您没有使用特殊序列。)
>>> match = pattern.findall(string)
>>> for i in match:
... print i
...
Я люблю мороженое
关于python - 如何在Python中使用unicode字符串的正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9446289/