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。

推薦閱讀: