正則表達(dá)式中小括號、中括號、大括號的作用詳細(xì)講解
在正則表達(dá)式中,小括號 ()
、中括號 []
和大括號 {}
各自具有特定的含義:
小括號()
- 分組:
小括號用于將正則表達(dá)式的一部分組合在一起,形成一個分組。
這對于后續(xù)的引用
、條件判斷
或者捕獲匹配結(jié)果
非常有用。
小括號就是分組
- 捕獲分組:
當(dāng)正則表達(dá)式中使用小括號時,它會創(chuàng)建一個捕獲分組。
(pattern)
這就是一個捕獲分組。
這意味著匹配到的、該分組的內(nèi)容,可以在后續(xù)的操作中被單獨提取
或使用
。
- 非捕獲分組
如果你不希望捕獲某個分組的內(nèi)容,
可以在小括號內(nèi)加上 ?:
來創(chuàng)建一個非捕獲分組,
例如 (?:pattern)
。
- 條件判斷:
在某些支持正則表達(dá)式的語言中,
小括號可以用于實現(xiàn)條件判斷,
如“前瞻斷言”
或“后顧斷言”
。
這一塊,我會單獨講的,這里就不講了。
中括號[]
- 字符集
中括號用于定義一個字符集,表示匹配方括號中的任意一個字符。
例如,[abc]
將匹配字符 ‘a’、‘b’ 或 ‘c’。
- 范圍
在中括號內(nèi),你可以使用連字符 -
來表示字符的范圍。
例如,[a-z]
將匹配任意小寫字母。
- 否定字符集
在中括號的最開始加上^
符號,
可以表示否定字符集,
即匹配不在方括號中的任意一個字符。
例如,[^0-9]
將匹配任意非數(shù)字字符。
- 特殊字符
在中括號內(nèi),一些正則表達(dá)式中的特殊字符(如 .
、*
、+
等)
將失去其特殊含義,而只表示字面字符。
這一點是要注意的。
大括號{}
- 限定符
大括號用于指定前面字符或分組的出現(xiàn)次數(shù)。
例如,a{3}
將匹配三個連續(xù)的 ‘a’ 字符。
- 范圍
在大括號內(nèi),你可以使用逗號 ,
來指定一個范圍,
表示前面的字符或分組至少出現(xiàn)多少次,最多出現(xiàn)多少次。
例如,a{1,3}
將匹配一個到三個連續(xù)的 ‘a’ 字符。
- 貪婪與非貪婪
當(dāng)使用大括號時,默認(rèn)是貪婪匹配,即盡可能多地匹配字符。
如果你想進行非貪婪匹配(盡可能少地匹配字符),
可以在大括號后面加上 ?
,如 a{1,3}?
。
附:正則表達(dá)式:(\s*)[\s*]{\s*} 區(qū)別
正則表達(dá)式的() [] {}有不同的意思。
() 是為了提取匹配的字符串。表達(dá)式中有幾個()就有幾個相應(yīng)的匹配字符串。
(\s*)表示連續(xù)空格的字符串。
[]是定義匹配的字符范圍。比如 [a-zA-Z0-9] 表示相應(yīng)位置的字符要匹配英文字符和數(shù)字。[\s*]表示空格或者*號。
{}一般用來表示匹配的長度,比如 \s{3} 表示匹配三個空格,\s[1,3]表示匹配一到三個空格。(0-9) 匹配 '0-9' 本身。 [0-9]* 匹配數(shù)字(注意后面有 *,可以為空)[0-9]+ 匹配數(shù)字(注意后面有 +,不可以為空){1-9} 寫法錯誤。 [0-9]{0,9} 表示長度為 0 到 9 的數(shù)字字符串。
過濾內(nèi)容里面有數(shù)或空格數(shù)字
preg_replace("/\d{1,}\s{0,1}/", "xxxxxxxx", $signaturecontent);
總結(jié)
小括號是分組、中括號是內(nèi)容、大括號是次數(shù)。
到此這篇關(guān)于正則表達(dá)式中小括號、中括號、大括號作用的文章就介紹到這了,更多相關(guān)正則表達(dá)式括號作用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
iOS中使用正則表達(dá)式NSRegularExpression 來驗證textfiled輸入的內(nèi)容
一個正則表達(dá)式(regexp)是由元字符和文字?jǐn)?shù)字的文本字符,或者“文字的”(abc,123,及其他)混合組合而成的文本模式。 該類型用于匹配文本字符——并附有匹配的結(jié)果,是成功還是失敗。 Regexps 主要用于規(guī)則文本匹配以及搜索和替換。2015-09-09js正則表達(dá)式驗證URL函數(shù)代碼(方便多個正則對比)
下面是一段相對全面的用例測試,可以考慮使用,當(dāng)然,如果你的要求很簡單,用網(wǎng)上傳的各種簡單版,cover到自己的用例就好。2016-10-10比較正宗的驗證郵箱的正則表達(dá)式j(luò)s代碼詳解
郵箱正則最正宗的一條正則語句是^[a-z0-9]+([._\\-]*[a-z0-9])*@([a-z0-9]+[-a-z0-9]*[a-z0-9]+.){1,63}[a-z0-9]+$ 下面我們來講解一下2012-09-09正則表達(dá)式實現(xiàn)與或非關(guān)系【推薦】
這篇文章主要介紹了正則表達(dá)式實現(xiàn)與或非關(guān)系,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下2018-07-07