日期:2014-05-20  浏览次数:20714 次

用JAVA语言写一个过滤<a href=........</a>的正则表达式
要求就是把a标签给过滤掉。 例如:我是<a href=u.php?action=show&uid=122113 target=_blank>超链接文本</a>爱好者。   要把“<a href=u.php?action=show&uid=122113 target=_blank>超链接文本</a>”都去掉。共同探讨一下,谢谢~
java 正则表达式 标签

------解决方案--------------------
看你的a标签是否是规范形式了,如果不考虑空格(例如不会出现< a> xxx< /a>),可以这样:
String[] href = {
                "go<a href=u.php?action=show&uid=122113 target=_blank>超链接文本</a>od",
                "go<a href=u.php?action=show&uid=122113 target=_blank>超链接文本</a>od<a href></a>",
        };
        for (String h : href) {
            System.out.println(h.replaceAll("<a[^>]+>[^<]*</a>", ""));
        }

------解决方案--------------------
其实你能给出一个例子比较合适一点。。
html.repaceAll("?s)<a.*?</a>","");
------解决方案--------------------
replaceAll("<a.*?</a>", "");