Python - 非ascii字符的re.sub

时间:2013-07-27 01:30:17

标签: python regex python-2.7 unicode

我正在尝试使用正则表达式匹配特定模式并删除整个模式。 例如:“在此处留下≺随机文本≻其他文本”

我需要它最终像这样“离开其他测试”。现在我将我的脚本转换为使用unicode,但它拒绝在列表中找到该字符串。

我试图根据文字值调用它,并且它是十六进制替代(使用十六进制编辑器找到符号的确切十六进制代码,utf-8符号)。

请注意,'≻'与'>'不同。

尝试:

eleInfo = "Leave ≺random text here≻Other text"

eleInfo = re.sub("≺.*?≻","",eleInfo)

尝试:

eleInfo = "Leave ≺random text here≻Other text"

eleInfo = re.sub("\x89\xBA.*?\x89\xBB","",eleInfo)

尝试:

eleInfo = "Leave ≺random text here≻Other text"

eleInfo = re.sub("\\x89\\xBA.*?\\x89\\xBB","",eleInfo)

非常感谢任何帮助或想法!

1 个答案:

答案 0 :(得分:0)

您似乎缺少 \ xe2 。以下作品:

re.sub("\\xe2\\x89\\xba.*\\xe2\\x89\\xbb","",eleInfo)

此外,您可以将字符串转换为unicode

eleInfo = unicode("Leave ≺random text here≻Other text")

re.sub(u"[\u227a].*[\u227b]","",eleInfo) works too.