我知道?:是表示不匹配的意思,那具体用法呢,可否举例子说明?
1 回答

慕沐林林
TA贡献2016条经验 获得超9个赞
(...):既分组又捕获;
example:"ababcd".replace(/(ab)+(cd)+/, $2+$1);
explain:'()' 使得 '+' 号可以作用在一组字符(ab)中,而且可以通过 '$n' 引用括号里的字符(从左边第一个 ‘(’ 数起,第 1 个用 '$1')。
result:"cdab";
(?:...):只分组不捕获;
example:"ababcd".replace(/(?:ab)+(cd)+/, $1);
explain:'(?:)'只分组的意思就是,它的作用就是让 ‘+’ 号的范围变大而已,而且这种括号 ‘(?:)’ 的值不能通过 $n 来引用,也不会计数,就是说上例中的 ‘$1’ 是 "cd";
result:"cd";
添加回答
举报
0/150
提交
取消