Java中正則表達式 .* 的含義講解
Java中正則表達式 .* 的含義
兩者的概念并不沖突
一、前置概念
.
:匹配1個字符,不包括0個。*
:限定前面的符號匹配 0 次到無窮次。*
號是限定符,起限定前面值的作用,不能單獨使用,前面必須要有其他值,如"abc".matches("*");
會報錯,原因是*
號不能單獨使用。
二、.*的含義
- 首先,
.
代表匹配1個字符;*
是限定符,表示限定前面的值匹配 0 次或多次。 - 然后,當
*
號作用于前面的.
號時,就相當于*
號把.
號重復了 0 次或無窮次。 - 所以
.*
的含義為:可以匹配長度任意的字符串(包括 0 個)。
java正則表達式中.*代表什么意思
后邊多一個?表示懶惰模式。
必須跟在*或者+后邊用
如:<img src="test.jpg" width="60px" height="80px"/>
如果用正則匹配src中內(nèi)容非懶惰模式匹配
src=".*"
匹配結果是:src="test.jpg" width="60px" height="80px"
意思是從="往后匹配,直到最后一個"匹配結束
懶惰模式正則:
src=".*?"
結果:src="test.jpg"
因為匹配到第一個"就結束了一次匹配。不會繼續(xù)向后匹配。因為他懶惰嘛。
.表示除\n之外的任意字符
*表示匹配0-無窮
+表示匹配1-無窮
正則表達式*,+,?的區(qū)別,舉例說明
一、*表示匹配前面的字符0個或多個
二、+表示前面的字符1個或多個
PS:表示只能是多個數(shù)字,只能是多個整數(shù),只能是多個字母,一般用*,當然+也可以,但有時候會出錯
三、?表示放在其他字符后面表示前面的字符可以有,也可以沒有,或者放在*、+后面表示匹配盡可能少的字符
例如:字符串fooooo,正則來fo*和fo+會匹配整個字符串,
fo+? 匹配fo,
fo*? 匹配f
上面這個例子就可以讓你理解+,*的區(qū)別
到此這篇關于Java中正則表達式 .* 的含義的文章就介紹到這了,更多相關java正則表達式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
webuploader 實現(xiàn)圖片批量上傳功能附實例代碼
這篇文章主要介紹了webuploader 實現(xiàn)圖片批量上傳功能,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2017-11-11如何修改HttpServletRequest中header中的信息
這篇文章主要介紹了如何修改HttpServletRequest中header中的信息,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-02-02