【发布时间】:2013-03-26 01:50:29
【问题描述】:
我目前有一个程序可以找到字符串中的所有正则表达式,但是对于不同的部分,我想要匹配正则表达式的部分和不匹配的部分。
因此,如果我有 <h1> hello world </h1>,我希望能够将其拆分为 [<h1>、hello world、</h1>]。
有没有人知道他们将如何解决这个问题?
这是我的代码,它拆分字符串以查找正则表达式部分
ArrayList<String> foundTags = new ArrayList<String>();
Pattern p = Pattern.compile("<(.*?)>");
Matcher m = p.matcher(HTMLLine);
while(m.find()){
foundTags.add(m.group(0));
}
【问题讨论】:
-
@nattyddubbs 是的,通常我会同意你的看法,只是我已经有一个函数可以成功判断它是 html 还是文本。我正在寻找一种方法来每次找到与上面列出的标准匹配的正则表达式来拆分字符串。其中“
hello world
” = [ h1, hello world, /h1]。如何判断其 html 是否已在另一部分代码中编写和测试的逻辑 -
有效 html:
<h1><>。我只是说 Html 上的文本处理并不那么可靠。继续自担风险... -
@leonbloy 我想到了这一点,但我不知道如何用正则表达式作为拆分器来编写它
-
@nattyddubbs 我同意你的看法,但我要解决的问题是给我文本格式的 HTML,我需要弄清楚如何正确解析它。一旦我找到文本或 HTML 标记,我就会将其创建为一个对象,以使其更易于使用。
标签: java regex string parsing arraylist