使用正则表达式在java中拆分字符串

时间:2013-07-08 07:45:18

标签: java regex string split

我想在开头和结尾分割一些标签(div和p),而不是全部。

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

我应该使用什么样的正则表达式?

1 个答案:

答案 0 :(得分:1)

您可以使用此正则表达式拆分

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

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


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

考虑以上正则表达式。它不会起作用

  • 如果你有嵌套标签..(NO REGEX 可以解决这个问题.. 下一个是不可能的)
  • 如果标签具有属性
  • 如果您在标记
  • 中有任意数量的空格

尽管如此,还不清楚你为什么要这样做分裂