在下面的例子中,我使用"|"
条件匹配多个搜索模式,并用值替换所有搜索模式。它工作正常。但是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
答案 0 :(得分:2)
Python没有宏。
我不确定你理解你的目的但是:
包含正则表达式的字符串可以通过编程方式构建:
frequncy_str = ('Lateral', 'Daily', 'Weekly', 'Monthly')
re_str = '(?i)<h5>(' + '|'.join(frequency_str) + ')</h5>'
为了获得更好的性能,如果要多次执行匹配,则应编译正则表达式:
re_pat = re.compile(re_str)