JAVA 使用正則提取A標簽以及href鏈接
正則提取A標簽以及href鏈接
代碼如下:
String content = "<p>下載地址:<a title=\"持續更新補丁下載地址\" target=\"_blank\" href=\"http://pan.baidu.com/s/xxxx\">持續更新補丁下載地址</a></p><p>"; Pattern pattern_a = compile("<a[^>]*href=(\\\"([^\\\"]*)\\\"|\\'([^\\']*)\\'|([^\\\\s>]*))[^>]*>(.*?)</a>"); Matcher matcher_a = pattern_a.matcher(content); System.out.println("網站連接"); while (matcher_a.find()) { for (int i = 0; i < matcher_a.groupCount(); i++) { System.out.println(matcher_a.group(i)); } }
輸出結果如下:
<a title=”持續更新補丁下載地址” target=”_blank” href=”http://pan.baidu.com/s/xxxx”>持續更新補丁下載地址</a>
“http://pan.baidu.com/s/xxxx”
http://pan.baidu.com/s/xxxx
null
null
JAVA 匹配正則表達式大全
java匹配字符串表達式在我們數據處理方面是及其重要的,現在就把我這幾天數據處理比較常用的向大傢介紹一下,常規的一些匹配方式就不介紹瞭,我們來學習一些特殊的
一.我們先舉個例子來看看Java匹配正則表達式
Pattern pattern = Pattern.compile("采購(人名稱|人單位|名稱).*"); Matcher matcher = pattern.matcher("采購名稱乒位"); String dateStr = null; if (matcher.find()) { dateStr = matcher.group(0); System.out.println(dateStr); }
運行結果如下:
二.匹配表達式的特殊情況
(1)匹配中文字符
Pattern pattern = Pattern.compile("[\\u4e00-\\u9fa5]"); Matcher matcher = pattern.matcher("2322購購購購232323"); String dateStr = null; if (matcher.find()) { dateStr = matcher.group(0); System.out.println(dateStr); }
運行結果如下:
(2).匹配從規定字符開始所有非換行字符
Pattern pattern = Pattern.compile("1.*"); Matcher matcher = pattern.matcher("2312購購購購232323"); String dateStr = null; if (matcher.find()) { dateStr = matcher.group(0); System.out.println(dateStr); }
運行結果如圖:
(3)使用字符串數組匹配多個條件匹配字符串,這是我在實習進行處理數據的一個例子,希望有助於大傢理解:
(4).對於字符串匹配查找多個符合條件的字符字串,我們用到group(),
group(num=0): 匹配的整個表達式的字符串,group() 可以一次輸入多個組號,在這種情況下它將返回一個包含那些組所對應值的元組。
groups() : 返回一個包含所有小組字符串的元組,從 1 到 所含的小組號。
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Java正則表達式之分組和替換方式
- 一文搞懂Java正則表達式的使用
- Java中Pattern用法實例(正則表達式)
- Java Pattern與Matcher字符串匹配案例詳解
- Java正則表達式之Pattern類實例詳解