考虑一个很长的 html 字符串:我需要没有某些标记部分的整个内容。
示例:
考虑以下字符串:
;decreasing'>1</a> <span class='active'>2</span><a href='F;search&
我需要选择除了范围以外的所有,因此删除以下内容
<span class='active'>2</span>
最后只有以下
;decreasing'>1</a> <a href='F;search&
我在regex101.com的选项背后以负面看法尝试了以下内容,但没有运气。
^(?!=(<span class='active'>(.*?)<\/span>)).*$
[其他信息]
如果我可以结合以下两个选项,它将解决问题:
1.选择 span 标记
之前的所有内容
.*?(?=<span)
- 从结束范围标签开始选择所有内容:
醇>
(?<=span>).*
提前感谢您的帮助。
答案 0 :(得分:0)
如果您的编码语言允许您进行正则表达式拆分或替换呼叫,则可以使用此模式:
~<(span).*?(/\1)>~
或展开您的代码列表,如下所示:~<(span|div).*?(/\1)>~
使用正则表达式模式处理html时存在风险,但根据html的结构,它们可能会也可能不会发挥作用。