python - 如何在Python中使用unicode字符串的正则表达式?

标签 python regex unicode python-2.x

您好,我想在以下字符串中使用 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/

相关文章:

java - 如何在java中使用正则表达式来匹配一个词

c++ - C++中的字符串和字符编码

python - 追踪 Python 2 中的隐式 unicode 转换

html - 在 html 选项标签的上标中显示 'rd'

python - findChild 使用自定义小部件返回 None

正则表达式

php - 使用正则表达式替换段落标记

python - Robobrowser 如何使用代理

python - Django & Geopy : all distance listed for each post : how to associated one distance to one post

python - 使用最小/最有效路径(Scipy distance.cdist)3D 浏览坐标?