在正则表达式中看见这样的栗子:
<script>
var str = "abcccba";
var pattern = /(\w)\1/g;
var ans = str.match(pattern);
alert(ans);
</script>
输出的结果是cc,请问一下大家,这里的\1表示啥意思啊?为什么我改成\2后输出就是null,请大家指点一二。小弟在这里谢过大家了。
你好,请具体分析一下这个案例,第一个小括号匹配不应该是a吗?
@HDWK: 如果没有\1,它会["a", "b", "c", "c", "c", "b", "a"]这样切割,然后加了\1,它会在找一个和(\w)重复的值,比如你找到了c,然后下一个值继续是c
@[3]: 为什么我把\1改成\2就是null呢?
@HDWK: \1表示重复第一个圆括号,\2表示重复第二个圆括号然而你没有,依次类推,类似替换组$1,$2,自己百度一下这两个的用法吧