0

在以下情况下,我使用"|"条件匹配多个搜索模式并将所有搜索模式替换为该值。它工作得很好。但是 python 是否有任何 MACRO 类型的东西,我可以在其中编写所有模式并在搜索模式中调用它?并一次替换所有模式。因为我必须编写近 20 到 30 个搜索模式。请帮助我实现这一点。

提前致谢。

import re

st = '''<h5>Reglar</h5>
<h5>Lateral</h5>
<h5>Daily</h5>
<h5>Weekly</h5>
<h5>Monthly</h5>
<h5>Quaterly</h5>
<h5>Yearly</h5>
<h5>Halfyearly</h5>'''

vr = re.sub(r'(?i)<h5>(Lateral|Halfyearly|Monthly)</h5>', "<h5>FINAL</h5>", st)
print vr
4

1 回答 1

2

Python 没有宏。

我不确定你在追求什么,但是:

可以通过编程方式构建包含正则表达式的字符串:

frequncy_str = ('Lateral', 'Daily', 'Weekly', 'Monthly')
re_str = '(?i)<h5>(' + '|'.join(frequency_str) + ')</h5>'

为了获得更好的性能,如果要执行多次匹配,则应编译正则表达式:

  re_pat = re.compile(re_str)
于 2013-02-14T07:07:30.080 回答