如何在尝试与python中的正则表达式匹配时应付变音符号

亚历克斯

尝试将正则表达式与Unicode HTML转义符用于变音符号:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import re
htmlstring=u'''/">čćđš</a>.../">España</a>'''

print re.findall( r'/">(.*?)</a', htmlstring, re.U )

产生:

[u'\u010d\u0107\u0111\u0161', u'Espa\xf1a']

有什么帮助吗?

πόδαςὠκύς

这似乎是一个编码问题。您的代码可以正常工作。您是否期望有所不同?前缀u为unicode文字的字符串开头的字符\u是unicode字符,后跟四个十六进制数字,而开头的字符\x是unicode字符,后跟只有两个十六进制数字。如果打印出结果(而不是查看其__repr__方法),则会看到收到的结果似乎是您正在寻找的:

results = [u'\u010d\u0107\u0111\u0161', u'Espa\xf1a']
for result in results:
    print result

čćđš
España

在您的代码中(即在列表中),您将看到以下unicode文字的表示形式:

for result in results:
    print result.__repr__()

u'\u010d\u0107\u0111\u0161'        # what shows up in your list
u'Espa\xf1a'

顺便说一句,看来您正在尝试使用正则表达式解析html。您应该尝试BeautifulSoup或类似的方法。这将使您免于日后的头疼。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

重音字符的具体Javascript正则表达式(变音符号)

正则表达式以匹配符号:!$%^&*()_ + |〜-=`{} []:“;'<>?,。/

如何在python 3中打印正则表达式匹配结果?

如何在Python中获取匹配正则表达式的组名?

正则表达式的变音符号

如何在python正则表达式中匹配双引号?

如何在Python中修改与特定正则表达式匹配的文本?

正则表达式与元字符在Swift中的大小写和变音符号不敏感匹配

如何使用黑名单数组和正则表达式禁止变音符号的单词?

如何在Smalltalk正则表达式中匹配[

如何在Python中再次使用先前匹配的正则表达式?

正则表达式-匹配一个字符及其所有变音符号(又称重音)

使用正则表达式剥离字符失败,而使用带有变音符号,撇号,重音符号等的文字字符

如何在Python正则表达式匹配中处理多行模式

如何在Javascript中匹配正则表达式

如何在正则表达式中匹配“或”内部?

JavaScript正则表达式将单词的边界与变音符号匹配

将德国变音符号与正则表达式正确匹配两次

如何在Python中为正则表达式解释重音符号?

如何在匹配表达式中编写正则表达式文字?

正则表达式匹配@符号

如何在正则表达式中匹配“ [”和“]”?

如何与正则表达式unicode文本匹配而忽略字符的变音符号(ÁÉÍ)

大写字母不匹配重音符号的正则表达式

如何在Python正则表达式中实施贪婪匹配

仅匹配正则表达式中的ASCII字母,忽略变音符号

如何在Python中从正则表达式匹配和提取组?

尝试匹配时 PHP 正则表达式问题

如何在python中匹配正则表达式?