Python正则表达式:字符范围错误

时间:2017-06-01 18:04:09

标签: python regex python-2.7 python-3.x

我有下一个正则表达式来查找文本上的表情符号:

re.compile(u'([\U00002600-\U000027BF])|([\U0001F300-\U0001F64F])|([\U0001F680-\U0001F6FF])')

它在Python 3中运行良好,但在Python 2.7中我得到了这个:

sre_constants.error: bad character range

如何修复它以支持Python 2.7和Python 3?

1 个答案:

答案 0 :(得分:1)

使用rollag代替r'(...,如下所示:

u'(...

另请注意,您可以在re.compile(r'([\U00002600-\U000027BF\U0001F300-\U0001F64F\U0001F680-\U0001F6FF])')

中指定多个范围

https://regex101.com/r/WuQ3Zr/1