我想检查一个字符串是否与正则表达式描述的一系列字符串匹配。
期望的行为类似于:
>>> re.findall("hi", "h[ia]t")
["hi"]
>>> re.findall("at", "h[ia]t")
["at"]
>>> re.findall("hat", "h[ia]t")
["hat"]
>>> re.findall("cat", "h[ia]t")
[]
但re.findall()的第二个参数按字面解释。
当然,在上面的简单示例中,我可以明确地检查“hit”和“hat”,但是对于看起来不实用的更复杂的表达式。
答案 0 :(得分:3)
正则表达式不是生成器。您可以匹配字符串与正则表达式,但不能构造与给定正则表达式匹配的所有字符串。你可能需要类似shell的大括号扩展,但我不认为stdlib中提供了类似的东西(fnmatch
已关闭但仅提供匹配)。