正則提取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匹配正則表達式
1
2
3
4
5
6
7
|
pattern pattern = pattern.compile( "采購(人名稱|人單位|名稱).*" ); matcher matcher = pattern.matcher( "采購名稱乒位" ); string datestr = null ; if (matcher.find()) { datestr = matcher.group( 0 ); system.out.println(datestr); } |
運行結果如下:
二.匹配表達式的特殊情況
(1)匹配中文字符
1
2
3
4
5
6
7
|
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).匹配從規定字符開始所有非換行字符
1
2
3
4
5
6
7
|
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 到 所含的小組號。
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持服務器之家。
原文鏈接:https://blog.csdn.net/u011781521/article/details/88936540