有没有办法在Python中使用嵌套正则表达式? 例如,我有
r1 = re.compile(r'SO ON')
我可以拥有像这样的东西吗?
r2 = re.compile(r'WHATEVER AND (r1)*')
为此示例验证“WHATEVER AND SO ON”。
我试着找到这个,但找不到任何解决方案。
答案 0 :(得分:1)
r1 = re.compile(r'SO ON')
r2 = re.compile(r'WHATEVER AND (%s)*' % r1.pattern)
这实际上并没有使用正则表达式的任何特殊功能,而是使用string formatting。可以将多个字符串传递为:
r'WHATEVER AND (%s) (%s)' % (r1.pattern, 'hello')
答案 1 :(得分:0)
我觉得道义上有义务指出这是严格支持没有旗帜的regexen。一旦你开始使用像re.MULTILINE这样的标志,这种方法就不起作用了。 Perl在正则表达式中使用正则表达式很棒。我希望我能找到一个好的Python解决方案。