chn*_*net 0 python regex expression
我想改变这个字符串
<p><b> hello world </b></p>. I am playing <b> python </b>
至:
<bold><bold>hello world </bold></bold>, I am playing <bold> python </bold>
我用了:
import re
pattern = re.compile(r'\<p>(.*?)\</p>|\<b>(.*?)\</b>')
print re.sub(pattern, r'<bold>\1</bold>', "<p><b>hello world</b></p>. I am playing <b> python</b>")
Run Code Online (Sandbox Code Playgroud)
它没有输出我想要的,它抱怨错误:无与伦比的组
它适用于这种情况:
re.sub(pattern, r'<bold>\1</bold>', "<p>hello world</p>. I am playing <p> python</p>")
Run Code Online (Sandbox Code Playgroud)
<bold> hello world </bold>.我在玩<bold> python</bold>
如果你选择不使用正则表达式,那么它很简单:
d = {'<p>':'<bold>','</p>':'</bold>','<b>':'<bold>','</b>':'</bold>'}
s = '<p><b> hello world </b></p>. I am playing <b> python </b>'
for k,v in d.items():
s = s.replace(k,v)
Run Code Online (Sandbox Code Playgroud)