标签: java regex matcher
可能重复:RegEx matching HTML tags and extracting text
我需要在像<p></p>这样的html标签之间获取文本。我的模式是这个
<p></p>
Pattern pText = Pattern.compile(">([^>|^<]*?)<");
任何人都知道一些更好的模式,因为这个不是很有用。我需要它来索引来自网页的内容。
由于
答案 0 :(得分:5)
即将降临在你身上。但是让我成为第一个说,不要使用正则表达式来解析HTML。 Here是Java HTML Parsers的列表。环顾四周,直到你看到一个适合你的幻想的API,然后使用它。
答案 1 :(得分:3)
看起来你正试图在负集中使用|运算符,这既不起作用也不需要。只需指定您不想匹配的字符:
|
Pattern pText = Pattern.compile(">([^<>]*?)<");
答案 2 :(得分:2)
解析HTML时不要使用正则表达式。
使用XPath代替(如果您的HTML格式正确)。您可以非常轻松地使用text()函数引用文本节点。
text()