例如,我有一个 html 内容如下
<html>
<p>
Have a/ good/ day! 祝你 /开心!
</p>
</html>
我想要把在
之间的 /去掉,变成<html>
<p>
Have a good day! 祝你开心!
</p>
</html>
请问该通过正则表达如何实现?
1
ryougifujino Aug 10, 2022
分两次做比较容易
1 、<p>([\w\W]+)<\/p> 2 、replace / |
2
vilicvane Aug 10, 2022
```
.replace(/(<p>)([^]*?)(<\/p>)/g, (_text, open, content, close) => `${open}${content.replace(/\//g, '')}${close}`) ``` |
3
wxf666 Aug 10, 2022 所以,这种情况咋办?
<html> <p> Have a/ good/ day! 祝你 /开心! </p> <script> const s = ` <html> <p> Have a/ good/ day! 祝你 /开心! </p> </html> `; </script> </html> |
4
autoxbc Aug 10, 2022 X-Y 问题,应该用 DOM Parser 来做
|
5
LeeReamond Aug 10, 2022
老生常谈的问题了,正则表达式做不到 parsexml 的操作,因为它是一个有限状态机,而处理语义划分逻辑必须记录当前状态,比如前面经过了多少个 ptag
|
6
cssk Aug 10, 2022 via iPhone
各种 soup 随便搞
|