java中的正则表达式

时间:2010-05-27 21:55:52

标签: java regex string html-parsing

String s= "(See <a href=\"/wiki/Grass_fed_beef\" title=\"Grass fed beef\" " +
          "class=\"mw-redirect\">grass fed beef.) They have been used for " +
          "<a href=\"/wiki/Paper\" title=\"Paper\">paper-making since " +
          "2400 BC or before.";

在上面的字符串中,我将html与文本混合在一起。

要求输出如下: -

  

自公元前2400年或之前以来,它们一直用于造纸。

是否有人可以帮助我使用通用正则表达式来生成给定输入的所需输出?

提前致谢!

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

以下表达式:

\([^)]*?\)|<[a-zA-Z/][^>]*?>

将匹配任何看起来像HTML标记和任何带括号的文本。将所述文本替换为“”,然后就可以了。

注意:如果您尝试匹配其中包含脚本标记的任何字符串,或者“HTML”,则作者无需转义&lt;和&gt;当它们没有用作标记分隔符时,或者(没有a)时,事情可能不会像你希望的那样起作用。