一段文本:
<span>target</span> target <div>target</div>
我想只替换没有被标签包裹的 target ,如果被标签包裹则忽略,应该怎么匹配啊,感谢感谢。
<span>target</span> target <div>target</div>
我想只替换没有被标签包裹的 target ,如果被标签包裹则忽略,应该怎么匹配啊,感谢感谢。
|
xiangyuecnJul 20, 2022
1
'<span>target</span> target <div>target</div>'.replace(/(<\/\w+>)([^<]+)(<(?!\/))/, "$1 服不服 $3");
|
|
2
@xiangyuecn 感谢,但是这个好像不能通用,用分组应该不行。
|
|
3
这种 html 的处理不推荐使用正则,建议转换成树处理。浏览器内原生使用 DOMparser ,node 端推荐用 jsdom 。
|
|
autoxbcJul 20, 2022
4
所有正则教程都应该告诉用户「什么情况下不要用正则」
|
|
lululauJul 20, 2022
5
楼上说得对,其实这题他不会
|