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