2

I'd like to split text at the begining and the end some tags (div and p) not all of them.

Input:
String html = "text<div>some text</div><tag>text</tag><span>asd</span><p>text</p>text";

Output:
text
<div>some text</div>
<tag>text</tag><span>asd</span>
<p>text</p>
text

What regex should i use?

4

1 回答 1

1

你可以用这个正则表达式拆分它

(?<=</(div|p)>)|(?=<(div|p)>)

但正如其他人推荐的那样,使用 html 解析器..


但是为什么要使用解析器..

考虑上面的正则表达式。它不会工作

  • 如果你有嵌套标签..(没有正则表达式可以解决这个问题..这几乎是不可能的)
  • 如果标签有属性
  • 如果标签内有任意数量的空间

虽然,不清楚你为什么要这样做

于 2013-07-08T07:51:43.013 回答