正则表达式上出现错误“括号不平衡”

时间:2019-06-28 11:27:05

标签: python regex

我正在尝试解决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,它工作正常。是什么导致此错误?

1 个答案:

答案 0 :(得分:3)

您已经将模式与字符串混淆了。将re.fullmatch(i, pat)更改为re.fullmatch(pat, i)