使用Python3,下面这样一个简单的脚本应该按预期运行,但似乎被unicode emote字符串阻塞了:
import re
phrase = "(╯°□°)╯ ︵ ┻━┻"
pattern = r'\b{0}\b'.format(phrase)
text = "The quick brown fox got tired of jumping over dogs and flipped a table: (╯°□°)╯ ︵ ┻━┻"
if re.search(pattern, text, re.IGNORECASE) != None:
print("Matched!")
如果我用单词“fox”代替短语变量的内容,那么模式确实匹配。我一直困惑于为什么它不喜欢这个特殊的字符串,而我对手册和堆栈溢出的探索并没有阐明这个问题。据我所知,python3应该可以毫无问题地处理这个问题。你知道吗
我是不是错过了一些显而易见的东西?你知道吗
编辑:同样,删除边界(\b)也不会影响匹配字符串的能力。你知道吗
这个表达式中有括号,您需要对其进行转义。否则,它们被解释为组。你知道吗
Escape the regex string并将代码更改为:
然后它将按预期工作:
相关问题 更多 >
编程相关推荐