|在非捕获组中包括多个由分隔的选项。您只需要在列表之前定义列表,并通过名称在模式中引用它即可。例:
import regexwords = [ ['a', 'the', 'one'], ['reason', 'reasons'], ['for', 'of'] ]pattern = r'm L<word1> s+ L<word2> s+ L<word3> M'p = regex.compile(pattern, regex.X, word1=words[0], word2=words[1], word3=words[2])s = 'the reasons for'print(p.search(s))
即使此功能不是必需的,它也可以提高可读性。
如果您
|在之前加入项目,则可以通过re模块实现类似的功能:
import rewords = [ ['a', 'the', 'one'], ['reason', 'reasons'], ['for', 'of'] ]words = ['|'.join(x) for x in words]pattern = r'b ({}) s+ ({}) s+ ({}) b'.format(*words)p = re.compile(pattern, re.X)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)