正則表達(dá)式中的 .*? 或 .*+ 的意思
正則表達(dá)式簡介
正則表達(dá)式,又稱規(guī)則表達(dá)式。(英語:Regular Expression,在代碼中常簡寫為regex、regexp或RE),計算機科學(xué)的一個概念。正則表達(dá)式通常被用來檢索、替換那些符合某個模式(規(guī)則)的文本。
許多程序設(shè)計語言都支持利用正則表達(dá)式進(jìn)行字符串操作。例如,在Perl中就內(nèi)建了一個功能強大的正則表達(dá)式引擎。正則表達(dá)式這個概念最初是由Unix中的工具軟件(例如sed和grep)普及開的。正則表達(dá)式通??s寫成“regex”,單數(shù)有regexp、regex,復(fù)數(shù)有regexps、regexes、regexen。
這篇文章重點給大家介紹正則表達(dá)式中的 .*? 或 .*+ 的意思 ,具體內(nèi)容如下所示:
最近要做一個提取文字特殊內(nèi)容的工具,老是不會寫正則表達(dá),經(jīng)常遇到.*? 或 .*+ 這些符號,網(wǎng)上查查,終于知道什么意思了,記錄一下網(wǎng)上解釋結(jié)果:
后邊多一個?表示懶惰模式。
必須跟在*或者+后邊用
如:<img src="test.jpg" width="60px" height="80px"/>
如果用正則匹配src中內(nèi)容非懶惰模式匹配
src=".*"
匹配結(jié)果是:src="test.jpg" width="60px" height="80px"
意思是從="往后匹配,直到最后一個"匹配結(jié)束懶惰模式正則:
src=".*?"
結(jié)果:src="test.jpg"
因為匹配到第一個"就結(jié)束了一次匹配。不會繼續(xù)向后匹配。因為他懶惰嘛。.表示除\n之外的任意字符
*表示匹配0-無窮
+表示匹配1-無窮
去掉括號實例
<span style="font-size:14px;">public class Test { public static void main(String[] args) { String s = "圖片(img=32,34)http://www.sds.com/jpg(/img) 圖片(img=32,34)http://www.sds.com/jpg(/img)"; System.out.println(s.replaceAll("\\[.+?\\]","")); } }</span>
結(jié)果:
圖片http://www.sds.com/jpg圖片http://www.sds.com/jpg
總結(jié)
到此這篇關(guān)于正則表達(dá)式中的 .*? 或 .*+ 的意思 的文章就介紹到這了,更多相關(guān)正則表達(dá)式中的 .*? .*+ 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 正則表達(dá)式學(xué)習(xí)小結(jié)
這篇文章主要介紹了python 正則表達(dá)式學(xué)習(xí)小結(jié)的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下2016-06-06js 正則表達(dá)式 驗證 a/b/c 格式的類型數(shù)據(jù)
對一個文本框中輸入的內(nèi)容格式做出要求,格式為a/b/c這種類型數(shù)據(jù),下面是具體的實現(xiàn),大家可以學(xué)習(xí)下2014-01-01