請問這句正則/(?:_| )+/是什么意思(解釋越簡單越好)?
Joy_Strong
2016-09-22 21:58:12
TA貢獻158條經(jīng)驗 獲得超188個贊
匹配的字符串中至少有一個或者多個 “_”(下劃線)或者 “ ”(空格)
正則里()表示分組,分組開頭有?:表示非捕獲型分組,| 表示或者 + 號表示 一個或者多個
非捕獲性分組就是這個分組匹配到的子字符串不會被作為匹配結(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)容作為匹配到的子串返回)
舉報