(共566篇)
全部分类

表示数量的符号
[ JS基础 ] 

表示数量的符号

{}符号

{}符号在正则表达式中,用来指定前面内容连续出现的次数

1
2
3
4
5
<script>
    var res;
    res = "a aa aaa aaaa".match(/a{2}/g);
    console.log(res);
</script>

案例源码

从结果中可以看到,match 方法把所有的连续 2 个 a 的字符全部都查找出来了

{}还有一种用法: [m,],用来表示前一个字符的数量至少要出现m次,才能被匹配到

1
2
3
4
5
6
7
<script>
    var res;
    res = "li ac ly acc lei accc yang acccc wang accccc ling accccccc".match(
        /ac{2,}/g,
    );
    console.log(res);
</script>

案例源码

上面案例中没有匹配到ac,是因为它里面只有一个c,而正则中要求至少出现 2 次c才可以被匹配到

[m,n]则表示前一个字符的数量至少出现m次,顶多出现n次,才能被匹配到:

1
2
3
4
5
6
7
<script>
    var res;
    res = "li ac ly acc lei accc yang acccc wang accccc ling accccccc".match(
        /ac{2,5}/g,
    );
    console.log(res);
</script>

案例源码

上面案例中,正则表达式要求字符c至少出现 2 次,最多不超过 5 次才能被匹配到。所以acacccccc不在返回的数组中。

?+*

?在正则表达式中相当于{0,1},表示前一个字符可有可无,要么没有,要么只出现 1 次

1
2
3
4
5
6
<script>
    var res;
    res = /ab?/.test("a");
    res = "a ab abb".match(/ab?/g);
    console.log(res);
</script>

案例源码

+在正则表达式中相当于{1,},表示前一个字符至少出现 1 次,或连续出现多次

1
2
3
4
5
<script>
    var res;
    res = "a ab abb".match(/ab+/g);
    console.log(res);
</script>

案例源码

*在正则表达式中相当于{0,},表示前面的字符没有,或连续出现多次

1
2
3
4
5
<script>
    var res;
    res = "a ab abbbb".match(/ab*/g);
    console.log(res);
</script>

案例源码