700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > Java正则表达式匹配 替换HTML内容

Java正则表达式匹配 替换HTML内容

时间:2019-06-30 08:52:58

相关推荐

Java正则表达式匹配 替换HTML内容

第一:像网页链接<a .......... href="[url1]" .......>之间的内容中[URL[绝对地址替换成相对地址,首先要查找匹配这个链接,查找匹配这个串的正则表达式串为

(<\\s*a\\s+(?:[^\\s>]\\s*){0,})href\\s*=\\s*(\"|'|)([^\\2\\s>]*)\\2((?:\\s*[^\\s>]){0,}\\s *>)

//查找匹配的代码如下:

String patternStrs="(<\\s*a\\s+(?:[^\\s>]\\s*){0,})href\\s*=\\s*(\"|'|)([^\\2\\s>]*)\\2((?:\\s*[^\\s>]){0,}\\s *>)";

PatternCompiler complier = new Perl5Compiler();

PatternMatcher matcher = new Perl5Matcher();

Pattern patternForLink = pile(patternStrs,

Perl5Compiler.

CASE_INSENSITIVE_MASK);

PatternMatcherInput input = new PatternMatcherInput(htmlContent);

while (matcher.contains(input, patternForLink)) {

MatchResult match = matcher.getMatch();

//处理匹配的结果,是要替换还是要其他处理

}

第二:对其他的标签也类似只要把匹配的字符串改一下为要匹配的标签就可以了。(如IMG标签)

(<\s*img\s+(?:[^\s>]\s*){0,})src\s*=\s*("|'|)([^\2\s>]*)\2((?:\s*[^\s>]){0,}\s*>),这样就可以处理

<img.....................src="[url]"...............>的标签匹配,对其他的标签也一样......

总结:对于大量要处理的文本,建议还是用到正则表达式,而要处理的文本比较少时,用普通的字符串API处理函数就足够了。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。