Java正則表達(dá)式如何匹配特定html標(biāo)簽內(nèi)的內(nèi)容
如題:
使用正則表達(dá)式,怎么匹配特定html標(biāo)簽內(nèi)的內(nèi)容。
比如,對(duì)于如下文本串:
... ignored content
prefix content
<html>inner content</html>
postfix content
... ignored content
我們要提取出<html>標(biāo)簽內(nèi)的內(nèi)容: inner content(這里的html標(biāo)簽可以換成任何其它的標(biāo)簽,比如<p>標(biāo)簽)
這里引入正則表達(dá)式的group概念:詳細(xì)點(diǎn)擊文章查看
比如:對(duì)于一個(gè)正則表達(dá)式( ( A ) ( B ( C ) ) )
- group 1為:( ( A ) ( B ( C ) ) )
- group 2為:( A )
- group 3為:( B ( C ) )
- group 4為:( C )
這樣,我們就能夠構(gòu)造出如下的正則表達(dá)式:.*(<(html>)(.*)</\2).*
此表達(dá)式的group概念為:
- group 1: (<(html>)(.*)</\2)
- group 2: (html>)
- group 3: (.*)
顯然我們要求的就是group3的內(nèi)容。
注意:\2是對(duì)group2的引用,也就是html>
該正則表達(dá)式也可以寫成: .*(<(html>)(.*)</(html>)).* 化簡其實(shí)就是.*<html>(.*)</html>.*
代碼實(shí)現(xiàn)為:
String p = ".*(<(html>)(.*)</\\2).*";
String m = "prefix<html>午休abc</html>postfix";
System.out.println("Pattern: " + p);
System.out.println("String to be test: " + m);
Pattern pattern = Pattern.compile(p);
Matcher matcher = pattern.matcher(m);
if(matcher.matches()) {
System.out.println("Matched String: " + matcher.group(3));
} else {
System.out.println("So sad, not matching anything!");
}
總結(jié)
到此這篇關(guān)于Java正則表達(dá)式如何匹配特定html標(biāo)簽內(nèi)容的文章就介紹到這了,更多相關(guān)Java正則表達(dá)式匹配html標(biāo)簽內(nèi)容內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Mybatis-Plus開發(fā)提速器mybatis-plus-generator-ui詳解
這篇文章主要介紹了Mybatis-Plus開發(fā)提速器mybatis-plus-generator-ui,本文簡要介紹一款基于Mybatis-Plus的代碼自助生成器,文章通過實(shí)例集成的方式來詳細(xì)講解mybatis-plus-generator-ui,從相關(guān)概念到實(shí)際集成案例,以及具體的擴(kuò)展開發(fā)介紹,需要的朋友可以參考下2022-11-11
SQL Server 2000 Driver for JDBC Service Pack 3 安裝測(cè)試方法
這篇文章主要介紹了數(shù)據(jù)庫連接測(cè)試程序(SQL Server 2000 Driver for JDBC Service Pack 3 安裝測(cè)試),需要的朋友可以參考下2014-10-10
解決myBatis generator逆向生成沒有根據(jù)主鍵的select,update和delete問題
這篇文章主要介紹了解決myBatis generator逆向生成沒有根據(jù)主鍵的select,update和delete問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-09-09
java 內(nèi)嵌Groovy動(dòng)態(tài)腳本操作
這篇文章主要介紹了java 內(nèi)嵌Groovy動(dòng)態(tài)腳本操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-07-07
java jdbc連接mysql數(shù)據(jù)庫實(shí)現(xiàn)增刪改查操作
這篇文章主要為大家詳細(xì)介紹了java jdbc連接mysql數(shù)據(jù)庫實(shí)現(xiàn)增刪改查操作,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-07-07

