$p = '/[name:](\w+\s\w+)/';為什么前面name:要加中括號,是什么意思?后面為什么也要用括號?
$p = '/[name:](\w+\s\w+)/';為什么前面name:要加中括號,是什么意思?后面為什么也要用括號?學(xué)了C語言,JAVA,C++,JS,一直不會用正則表達式/(ㄒoㄒ)/~~
$p = '/[name:](\w+\s\w+)/';為什么前面name:要加中括號,是什么意思?后面為什么也要用括號?學(xué)了C語言,JAVA,C++,JS,一直不會用正則表達式/(ㄒoㄒ)/~~
2016-08-11
舉報
2016-08-11
圓括號()是組,主要應(yīng)用在限制多選結(jié)構(gòu)的范圍/分組/捕獲文本/環(huán)視/特殊模式處理
示例:
1、(abc|bcd|cde),表示這一段是abc、bcd、cde三者之一均可,順序也必須一致
2、(abc)?,表示這一組要么一起出現(xiàn),要么不出現(xiàn),出現(xiàn)則按此組內(nèi)的順序出現(xiàn)
3、(?:abc)表示找到這樣abc這樣一組,但不記錄,不保存到$變量中,否則可以通過$x取第幾個括號所匹配到的項,比如:(aaa)(bbb)(ccc)(?:ddd)(eee),可以用$1獲取(aaa)匹配到的內(nèi)容,而$3則獲取到了(ccc)匹配到的內(nèi)容,而$4則獲取的是由(eee)匹配到的內(nèi)容,因為前一對括號沒有保存變量
4、a(?=bbb) 順序環(huán)視 表示a后面必須緊跟3個連續(xù)的b
5、(?i:xxxx) 不區(qū)分大小寫 (?s:.*) 跨行匹配.可以匹配回車符
方括號是單個匹配,字符集/排除字符集/命名字符集
示例:
1、[0-3],表示找到這一個位置上的字符只能是0到3這四個數(shù)字,與(abc|bcd|cde)的作用比較類似,但圓括號可以匹配多個連續(xù)的字符,而一對方括號只能匹配單個字符
2、[^0-3],表示找到這一個位置上的字符只能是除了0到3之外的所有字符
3、[:digit:] 0-9 [:alnum:] A-Za-z0-9
引用自
http://www.dewen.net.cn/q/9109/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E4%B8%AD()%E5%92%8C[]%E6%9C%89%E4%BB%80%E4%B9%88%E5%8C%BA%E5%88%AB%EF%BC%9F