Java中正則表達(dá)式 .* 的含義講解
Java中正則表達(dá)式 .* 的含義
兩者的概念并不沖突
一、前置概念
.
:匹配1個(gè)字符,不包括0個(gè)。*
:限定前面的符號(hào)匹配 0 次到無(wú)窮次。*
號(hào)是限定符,起限定前面值的作用,不能單獨(dú)使用,前面必須要有其他值,如"abc".matches("*");
會(huì)報(bào)錯(cuò),原因是*
號(hào)不能單獨(dú)使用。
二、.*的含義
- 首先,
.
代表匹配1個(gè)字符;*
是限定符,表示限定前面的值匹配 0 次或多次。 - 然后,當(dāng)
*
號(hào)作用于前面的.
號(hào)時(shí),就相當(dāng)于*
號(hào)把.
號(hào)重復(fù)了 0 次或無(wú)窮次。 - 所以
.*
的含義為:可以匹配長(zhǎng)度任意的字符串(包括 0 個(gè))。
java正則表達(dá)式中.*代表什么意思
后邊多一個(gè)?表示懶惰模式。
必須跟在*或者+后邊用
如:<img src="test.jpg" width="60px" height="80px"/>
如果用正則匹配src中內(nèi)容非懶惰模式匹配
src=".*"
匹配結(jié)果是:src="test.jpg" width="60px" height="80px"
意思是從="往后匹配,直到最后一個(gè)"匹配結(jié)束
懶惰模式正則:
src=".*?"
結(jié)果:src="test.jpg"
因?yàn)槠ヅ涞降谝粋€(gè)"就結(jié)束了一次匹配。不會(huì)繼續(xù)向后匹配。因?yàn)樗麘卸杪铩?/p>
.表示除\n之外的任意字符
*表示匹配0-無(wú)窮
+表示匹配1-無(wú)窮
正則表達(dá)式*,+,?的區(qū)別,舉例說(shuō)明
一、*表示匹配前面的字符0個(gè)或多個(gè)
二、+表示前面的字符1個(gè)或多個(gè)
PS:表示只能是多個(gè)數(shù)字,只能是多個(gè)整數(shù),只能是多個(gè)字母,一般用*,當(dāng)然+也可以,但有時(shí)候會(huì)出錯(cuò)
三、?表示放在其他字符后面表示前面的字符可以有,也可以沒(méi)有,或者放在*、+后面表示匹配盡可能少的字符
例如:字符串fooooo,正則來(lái)fo*和fo+會(huì)匹配整個(gè)字符串,
fo+? 匹配fo,
fo*? 匹配f
上面這個(gè)例子就可以讓你理解+,*的區(qū)別
到此這篇關(guān)于Java中正則表達(dá)式 .* 的含義的文章就介紹到這了,更多相關(guān)java正則表達(dá)式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
webuploader 實(shí)現(xiàn)圖片批量上傳功能附實(shí)例代碼
這篇文章主要介紹了webuploader 實(shí)現(xiàn)圖片批量上傳功能,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2017-11-11Java?list如何實(shí)現(xiàn)將指定元素排在第一位
這篇文章主要為大家詳細(xì)介紹了Java?list中如何實(shí)現(xiàn)將指定元素排在第一位,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下2025-02-02如何修改HttpServletRequest中header中的信息
這篇文章主要介紹了如何修改HttpServletRequest中header中的信息,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02Java反射的應(yīng)用之動(dòng)態(tài)代理深入理解
這篇文章主要介紹了Java反射的應(yīng)用之動(dòng)態(tài)代理深入理解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-09-09Java事務(wù)管理學(xué)習(xí)之JDBC詳解
這篇文章主要介紹了Java事務(wù)管理學(xué)習(xí)之JDBC的相關(guān)資料,文中介紹的非常詳細(xì),相信對(duì)大家具有一定的參考價(jià)值,需要的朋友們下面來(lái)一起看看吧。2017-03-03