将字符串与正则表达式匹配

时间:2013-02-15 01:38:06

标签: python regex

我想检查一个字符串是否与正则表达式描述的一系列字符串匹配。

期望的行为类似于:

>>> 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”,但是对于看起来不实用的更复杂的表达式。

1 个答案:

答案 0 :(得分:3)

正则表达式不是生成器。您可以匹配字符串与正则表达式,但不能构造与给定正则表达式匹配的所有字符串。你可能需要类似shell的大括号扩展,但我不认为stdlib中提供了类似的东西(fnmatch已关闭但仅提供匹配)。