我有一个大量使用regexp的python模板引擎。它使用如下串联:
re.compile( regexp1 + "|" + regexp2 + "*|" + regexp3 + "+" )
我可以修改单个子字符串(regexp1,regexp2等)。
是否有任何轻巧的表达式什么都不匹配,我可以在不需要任何匹配的模板中使用它?不幸的是,有时将'+'或'*'附加到regexp原子上,所以我不能使用空字符串-这将引发“无重复”错误。
最佳答案
这不应该匹配任何东西:
re.compile('$^')
因此,如果用'$ ^'替换regexp1,regexp2和regexp3,将不可能找到匹配项。除非您使用多行模式。
经过一些测试,我找到了更好的解决方案
re.compile('a^')
不可能匹配,并且将比以前的解决方案更早失败。您可以将a替换为其他任何字符,但始终无法匹配