1 回答
已采纳
千秋此意
TA贡献158条经验 获得超187个赞
匹配的字符串中至少有一个或者多个 “_”(下划线)或者 “ ”(空格)
正则里()表示分组,分组开头有?:表示非捕获型分组,| 表示或者 + 号表示 一个或者多个
非捕获性分组就是这个分组匹配到的子字符串不会被作为匹配结果返回
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'] (非捕获性分组,没有把分组内容作为匹配到的子串返回) console.log(str.match(re2)); // ['_s', '_'] (捕获性分组,把分组内容作为匹配到的子串返回)
添加回答
举报
0/150
提交
取消