什么是java或android中的html标签的正则表达式模式?

时间:2010-03-11 17:00:19

标签: java android regex

我将此标记作为输入标记:

<a href="controller.jsp?sid=127490C88DB5&R=35144" class="11-link-dkred-bold"><b>Mr. John Q. Anderson&nbsp;&nbsp;&nbsp;MBA 1977 E</a>

在此我想要获得值

先生。 John Q. Anderson MBA 1977 E

wat是正则表达式中的patten值吗?

2 个答案:

答案 0 :(得分:8)

使用正则表达式解析HTML是非常糟糕的想法 TM ,因为它不是常规语言。你最好通过整理(清理它),然后使用XML解析器或使用XPath来运行它。

否则,捕获的匹配模式为:

<.*?>\([^<]+\)</.*?>

修改

我刚注意到您的HTML格式不正确!您没有结束</b>标记。我给你的正则表达式只有在你用一个标记包装文本时才有效。它不适用于您的示例。假设你内部总是有一个<b>...</b>标签,你可以这样做:

<.*?><b>\([^<]+\)</b></.*?>

答案 1 :(得分:2)

我建议使用NekoHTML或其他替代品,请参阅例如http://www.benmccann.com/blog/java-html-parsing-library-comparison/

如果您想自己解析它,请使用ANTLR或JavaCC或类似的东西。要做得对,你需要一个强大的语法。