請問這句正則/(?:_| )+/是什么意思(解釋越簡單越好)?
Joy_Strong
2016-09-22 21:58:12
TA貢獻(xiàn)158條經(jīng)驗(yàn) 獲得超188個(gè)贊
匹配的字符串中至少有一個(gè)或者多個(gè) “_”(下劃線)或者 “ ”(空格)
正則里()表示分組,分組開頭有?:表示非捕獲型分組,| 表示或者 + 號表示 一個(gè)或者多個(gè)
非捕獲性分組就是這個(gè)分組匹配到的子字符串不會(huì)被作為匹配結(jié)果返回
var?re?=?/(?:_|?)+\w/; var?re2?=?/(_|?)+\w/; var?str?=?'test_string'; re.test(str)?//?true console.log(RegExp.$1)?//?(非捕獲性分組,分組里匹配到的子串訪問不到) re2.test(str)?//?true console.log(RegExp.$1)?//?'_'?(捕獲性分組,分組里匹配到的子串可以訪問) console.log(str.match(re));?//?['_s']?(非捕獲性分組,沒有把分組內(nèi)容作為匹配到的子串返回) console.log(str.match(re2));?//?['_s',?'_']?(捕獲性分組,把分組內(nèi)容作為匹配到的子串返回)
舉報(bào)