日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Matcher类的简单使用

發(fā)布時(shí)間:2023/12/13 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Matcher类的简单使用 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
今天工作時(shí)遇到一個(gè)問(wèn)題, 用正則處理html標(biāo)簽時(shí)不知該如何下手。還好有Matcher幫助解決了問(wèn)題。 需求如下:
例如有如下html文章內(nèi)容: <p><a href="www.baidu.com">百度的鏈接</a>; 這是一個(gè)百度的鏈接。 <a href="www.jiakaobaodian.com">駕考寶典的鏈接</a>這是一個(gè)駕考寶典的鏈接</p>;
在我們做文章內(nèi)鏈的時(shí)候, 往往摻雜了一些我們不想要的鏈接, 如上所示我們只想保留www.jiakaobaodian.com 的鏈接, 如下是我們希望得到的: <p>這是一個(gè)百度的鏈接。<a href="www.jiakaobaodian.com">駕考寶典的鏈接</a>這是一個(gè)駕考寶典的鏈接</p>;
說(shuō)白了就是去掉自己不需要的標(biāo)簽, 但是保留標(biāo)簽中的文本。 開(kāi)始嘗試用Jsoup,Dom4j 一類的解析這段html, 但是后面在刪除標(biāo)簽的時(shí)候都遇到了問(wèn)題, 最后嘗試使用Matcher中的appendReplacementappendReplacement才解決問(wèn)題。
1, 使用實(shí)例:
輸出結(jié)果是將沒(méi)有匹配到的a標(biāo)簽都remove掉且保留了標(biāo)簽中的文字。 結(jié)果如下圖:

下面在講一個(gè)簡(jiǎn)單的案例: public static void main(String[] args) throws Exception{ ??? Pattern p = Pattern.compile("(\\w+)%(\\d+)"); ??? Matcher m = p.matcher("前ab%12中cd%34后"); ??? StringBuffer s = new StringBuffer(); ??? while (m.find()) { ??????? m.appendReplacement(s, "app"); ??? } ??? System.out.println(s);// 前app中app ??? m.appendTail(s); ??? System.out.println(s);// 前app中app }
先看下這段正則的匹配情況: 圖中彩色的部分就是匹配到情況, 遇到這種需要正則匹配且時(shí)時(shí)看到結(jié)果的, 大家可以到: https://regex101.com/ 上測(cè)試。 然后看下輸出結(jié)果:
2, 解釋說(shuō)明: public Matcher appendReplacement(StringBuffer sb, String replacement) 將當(dāng)前匹配子串替換為指定字符串,并將從上次匹配結(jié)束后到本次匹配結(jié)束后之間的字符串添加到一個(gè)StringBuffer對(duì)象中,最后返回其字符串表示形式。 注意:對(duì)于最后一次匹配,其后的字符串并沒(méi)有添加入StringBuffer對(duì)象中,若需要這部分的內(nèi)容需要使用appendTail方法。
public StringBuffer appendTail(StringBuffer sb) 將最后一次匹配工作后剩余的字符串添加到一個(gè)StringBuffer對(duì)象里。
更多內(nèi)容大家可以查看Matcher類。 參考:http://www.cnblogs.com/SQP51312/p/6134324.html

轉(zhuǎn)載于:https://www.cnblogs.com/wang-meng/p/7613177.html

總結(jié)

以上是生活随笔為你收集整理的Matcher类的简单使用的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。