【发布时间】:2011-08-29 12:01:07
【问题描述】:
我知道使用正则表达式并不是在 Java 中搜索 HTML 标签的最佳方式。但这是我正在进行的项目的第一步,我也将不得不搜索非 HTML 内容。那么为什么下面的代码不起作用呢?
public static String tagValue(String inHTML, String tag) throws DataNotFoundException
{
String value = null;
String searchFor = "/<" + tag + ">(.*?)<\\/" + tag + "\\>/";
Pattern pattern = Pattern.compile(searchFor);
Matcher matcher = pattern.matcher(inHTML);
return matcher.toString();
}
【问题讨论】:
-
您能否添加一些有关“如何”不起作用的详细信息?任何堆栈跟踪,或者只是没有结果,还是其他什么?
-
您可以使用 XQuery 或 XPath 将文本节点(我假设您的意思是“非 HTML 内容”)与模式匹配。为此,XQuery 1.0 和 XPath 2.0 都支持正则表达式。也无需将 HTML 与正则表达式匹配。