我正在尝试解决edabit.com的挑战Count the Smiley Faces,并提供以下代码:
import re
def count_smileys(lst):
pat = "[:;]?[-~]?[)D]?"
res = []
for i in lst:
if re.fullmatch(i, pat):
res.append(i)
return len(res)
但是这会引发错误
“ sre_constants.error:括号不平衡。”
我已经用RegExr测试了regex,它工作正常。是什么导致此错误?
答案 0 :(得分:3)
您已经将模式与字符串混淆了。将re.fullmatch(i, pat)
更改为re.fullmatch(pat, i)