Java正则表达式匹配、替换HTML内容
第一:像網(wǎng)頁鏈接<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 = complier.compile(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處理函數(shù)就足夠了。
轉載于:https://www.cnblogs.com/bihailantian/archive/2010/09/20/1831951.html
總結
以上是生活随笔為你收集整理的Java正则表达式匹配、替换HTML内容的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ERROR 1045 (28000):
- 下一篇: 越过 __chkesp 检测的缓冲区溢出