str="<p><span style="font-size: 24px;">音频展示区</span></p>
<p>音频是非常好的音频</p>
<img src="../static/media/20200716172好音频.mp4" alt="">"
需要使用re.sub(pattern, repl, str) 把上面的所有字为"音频"的替换为
"<b style='color:red'>音频</b>"
但又不能替换在<img>标签内的"音频"
请问如何写这个正则
我自己的思路是:
pattern = ">[^<]*?音频.* ?<"
repl = r"><b class='key' style='color:red'>音频</b><"
re.sub(pattern, repl, str)
虽然成功避开img内的替换字符
但是匹配之后 "音频展示区","音频是非常好的音频" 这两个字符都全部变成替换的字符了
我主要是想给"音频"这两个字加个标签变个色 只需替换这两个字其他的的字都不替换
求大神相助!!!
经过大神的提点 改进方法:
search="音频"
def deal(s):
newStr=s.group().replace(search,"<b class='key' style='color:red'>{0}</b>".format(search))
return newStr
pattern=">[^<]*?{0}.*?<".format(search)
con=re.sub(pattern, deal, str)