html = """<div class="w-number this is class"> <span class="tpte">this is class 14℃</span> </div>"""

如上源码,在class中包含 this is class 而在span的正文里也有this is class,现在需要将正文里的this is class加入一个超链接

<div class="w-number this is class"> <span class="tpte"><a href="https://www.xxx.com/a/this_is_class" style="color:blue;">this is class</a> 14℃</span> </div>

如果用正则匹配的话很容易匹配到div class里的this is class里,单独把内容提取出来再替换的话就无法还原回样式了,试过xpath2.0的方式,都不能很好的解决问题,

最后还是通过复杂点的正则解决:

  第一版正则 word_pattern = re.compile(r'\b{0}\b'.format(hs), re.IGNORECASE) 这个会扫描整个文档

  第二版正则 word_pattern = re.compile(r"(>((?!<).)*)\b{0}\b(((?!<).)*<)".format(hs), re.IGNORECASE) 这种方式就只扫描正文内容

 

第二版很好的解决了问题

 

相关文章:

  • 2021-11-29
  • 2022-01-23
  • 2021-11-04
  • 2022-12-23
  • 2021-10-01
  • 2022-01-24
  • 2021-08-17
  • 2021-10-05
猜你喜欢
  • 2021-09-10
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-02
  • 2022-12-23
相关资源
相似解决方案