元字符 - 量词、

元字符 - 量词

  • 用来修饰数量的

注意这些量词只修饰它左边的那一个字符,所以要修饰整体,记得加小括号包起来 

 

        /*
            *: 出现0次或多次 >= 0
            +: 出现1次或多次 >= 1
            ?: 出现0次或1次
        */

        // 只能是黑马程序员5个字
        // console.log( /^黑马程序员$/.test('黑马程序员黑马程序员') ) // 得到false


        // *只形容左边一个字
        // 就代表 找 黑马程序 或者 找黑马程序员 或者找 黑马程序员员 或者 黑马程序员员员 .....
        // 而且加了严格匹配,那就代表只能是上面这些组合
        // console.log( /^黑马程序员*$/.test('黑马程序员黑马程序员') ) // 得到false
        // console.log( /^黑马程序员*$/.test('黑马程序员') ) // 得到true
        // console.log( /^黑马程序员*$/.test('黑马程序员黑马程序员黑马程序员') ) // false
        // console.log( /^黑马程序员*$/.test('') ) // false

        // 小括号代表先运算,所以先运算黑马程序员当做一个整体
        // 后面接一个 * 代表这个整体出现0次或多次
        // 也就说要么毛都没有,要么一次 黑马程序员 要么多次 黑马程序员
        // console.log( /^(黑马程序员)*$/.test('黑马程序员黑马程序员') ) // true
        // console.log( /^(黑马程序员)*$/.test('黑马程序员') ) // true
        // console.log( /^(黑马程序员)*$/.test('黑马程序员黑马程序员黑马程序员') ) // true
        // console.log( /^(黑马程序员)*$/.test('') ) // true


        // 原因:这里加了严格匹配,就代表只能是 里面的内容
        // 而里面的内容要么是空,要么是 黑马程序员 出现n次,不能有别的内容
        // 而下面的都有别的内容,所以false
        // console.log( /^(黑马程序员)*$/.test('黑马程序员黑马程序员666') ) // false
        // console.log( /^(黑马程序员)*$/.test('黑马程序员666') ) // false
        // console.log( /^(黑马程序员)*$/.test('黑马程序员黑马程序员黑马程序员666') ) // false
        // console.log( /^(黑马程序员)*$/.test('666') ) // false


        // 因为此时没有加严格匹配
        // // 那就代表找 内容里,只要有 黑马程序员 出现0次或多次 即可
        // console.log( /(黑马程序员)*/.test('黑马程序员黑马程序员666') ) // true
        // console.log( /(黑马程序员)*/.test('黑马程序员666') ) // true
        // console.log( /(黑马程序员)*/.test('黑马程序员黑马程序员黑马程序员666') ) // true
        // console.log( /(黑马程序员)*/.test('666') ) // true


        // +: 出现1次或多次 ,至少要 >= 1

        // 这里没有加严格匹配,代表只要有就行
        // 只要有 黑马程序员,且员这个字,出现至少1次
        // 也就是只要有 黑马程序员、黑马程序员员、黑马程序员员员......  
        // 只要有这些内容就是true
        // console.log( /黑马程序员+/.test('黑马程序') )  // false
        // console.log( /黑马程序员+/.test('黑马程序员') ) // true
        // console.log( /黑马程序员+/.test('黑马程序员员') ) // true
        // console.log( /黑马程序员+/.test('黑马程序员员666') ) // true
        // console.log( /黑马程序员+/.test('黑马程序666') ) // false
        // console.log( /黑马程序员+/.test('黑马程序员666') ) // true


        // 严格匹配代表只能是这个内容
        // 内容就是: 黑马程序员(员这个字可以出现1次或多次)
        // console.log( /^黑马程序员+$/.test('黑马程序') )  // false
        // console.log( /^黑马程序员+$/.test('黑马程序员') ) // true
        // console.log( /^黑马程序员+$/.test('黑马程序员员') ) // true
        // console.log( /^黑马程序员+$/.test('黑马程序员员666') ) //  false
        // console.log( /^黑马程序员+$/.test('黑马程序666') ) //  false
        // console.log( /^黑马程序员+$/.test('黑马程序员666') ) //  false


        // 代表 黑马程序员 整体要出现1次或多次,而且只能是 黑马程序员 一次或多次
        // console.log( /^(黑马程序员)+$/.test('黑马程序') )  // false
        // console.log( /^(黑马程序员)+$/.test('黑马程序员') ) // true
        // console.log( /^(黑马程序员)+$/.test('黑马程序员员') ) // false
        // console.log( /^(黑马程序员)+$/.test('黑马程序员员666') ) //  false
        // console.log( /^(黑马程序员)+$/.test('黑马程序666') ) //  false
        // console.log( /^(黑马程序员)+$/.test('黑马程序员666') ) //  false

        // 很多网站要求输入手机号

         // ?: 出现0次或1次 ,要么0 要么 1
        // 这里没有加严格匹配,代表只要有就行
        // 内容是 员这个字要么没有,要么就是有1个
        // console.log( /黑马程序员?/.test('黑马程序') )  // true
        // console.log( /黑马程序员?/.test('黑马程序员') ) // true

        // // 没有加严格匹配,代表只要有 黑马程序  或 黑马程序员 都可以
        // // 所以这里有黑马程序员,那么就是true,你多出来一个员字或者多出来一个6
        // // 它都是true
        // console.log( /黑马程序员?/.test('黑马程序员员') ) // true
        // console.log( /黑马程序员?/.test('黑马程序员6') ) // true

        // console.log( /黑马程序员?/.test('黑马程序员员666') ) // true
        // console.log( /黑马程序员?/.test('黑马程序666') )  // true
        // console.log( /黑马程序员?/.test('黑马程序员666') ) // true


        // 严格匹配代表只能是这个内容
        // 内容就是: 黑马程序 黑马程序员
        // 换句话说:字符串只能是 黑马程序  黑马程序员
        // console.log( /^黑马程序员?$/.test('黑马程序') )  // true
        // console.log( /^黑马程序员?$/.test('黑马程序员') ) // true
        // console.log( /^黑马程序员?$/.test('黑马程序员员') ) // false
        // console.log( /^黑马程序员?$/.test('黑马程序员6') ) // false

        // console.log( /^黑马程序员?$/.test('黑马程序员员666') )  // false
        // console.log( /^黑马程序员?$/.test('黑马程序666') )  // false
        // console.log( /^黑马程序员?$/.test('黑马程序员666') )  // false


        // 代表只能是 黑马程序员 出现0次或1次
        // 所以也就是说,要么毛都没有,要么只能是 黑马程序员
        // console.log( /^(黑马程序员)?$/.test('黑马程序') )  // false
        // console.log( /^(黑马程序员)?$/.test('黑马程序员') ) // true
        // console.log( /^(黑马程序员)?$/.test('黑马程序员员') ) // false
        // console.log( /^(黑马程序员)?$/.test('黑马程序员员666') ) //  false
        // console.log( /^(黑马程序员)?$/.test('黑马程序666') ) //  false
        // console.log( /^(黑马程序员)?$/.test('黑马程序员666') ) //  false
        // console.log( /^(黑马程序员)?$/.test('') ) //  true
        // console.log( /^(黑马程序员)?$/.test('黑马程序员黑马程序员') ) //  false

       /*
           {n}    出现n次
           {n,}   至少出现n次
           {n, m} 至少n次,最多m次
        */

       

        // 这是代表只要有 黑马程序员员员 即可
        // console.log( /黑马程序员{3}/.test('黑马程序员黑马程序员') ) // false
        // console.log( /黑马程序员{3}/.test('黑马程序员') ) // false
        // console.log( /黑马程序员{3}/.test('黑马程序员黑马程序员黑马程序员') ) // false
        // console.log( /黑马程序员{3}/.test('') ) // false
        // console.log( /黑马程序员{3}/.test('黑马程序员员员') ) // true
        // console.log( /黑马程序员{3}/.test('黑马程序员员员6666') ) // true
        // console.log( /黑马程序员{3}/.test('黑马程序员员员员员员') ) // true

       
        // 只是代表只要有 黑马程序员 连续出现3次 即可
        // 也就是只要有 黑马程序员黑马程序员黑马程序员
        // console.log( /(黑马程序员){3}/.test('黑马程序员黑马程序员') ) // false
        // console.log( /(黑马程序员){3}/.test('黑马程序员') ) // false
        // console.log( /(黑马程序员){3}/.test('黑马程序员黑马程序员黑马程序员') ) // true
        // console.log( /(黑马程序员){3}/.test('') ) // false
        // console.log( /(黑马程序员){3}/.test('黑马程序员员员') ) // false
        // console.log( /(黑马程序员){3}/.test('黑马程序员员员6666') ) // false
        // console.log( /(黑马程序员){3}/.test('黑马程序员员员员员员') ) // false

        // console.log( /(黑马程序员){3}/.test('黑马程序员黑马程序员黑马程序员66') ) // true
        // console.log( /(黑马程序员){3}/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // true


        // 只能是 黑马程序员 出现3次
        // 也就是只能找  黑马程序员黑马程序员黑马程序员
        // console.log( /^(黑马程序员){3}$/.test('黑马程序员黑马程序员') ) // false
        // console.log( /^(黑马程序员){3}$/.test('黑马程序员') ) // false
        // console.log( /^(黑马程序员){3}$/.test('黑马程序员黑马程序员黑马程序员') ) // true
        // console.log( /^(黑马程序员){3}$/.test('') ) // false
        // console.log( /^(黑马程序员){3}$/.test('黑马程序员员员') ) // false
        // console.log( /^(黑马程序员){3}$/.test('黑马程序员员员6666') ) // false
        // console.log( /^(黑马程序员){3}$/.test('黑马程序员员员员员员') ) // false
        // console.log( /^(黑马程序员){3}$/.test('黑马程序员黑马程序员黑马程序员66') ) // false
        // console.log( /^(黑马程序员){3}$/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // false
        
        
        // 只能是 黑马程序员至少出现3次
        // console.log( /^(黑马程序员){3,}$/.test('黑马程序员黑马程序员') ) // false
        // console.log( /^(黑马程序员){3,}$/.test('黑马程序员') ) // false
        // console.log( /^(黑马程序员){3,}$/.test('黑马程序员黑马程序员黑马程序员') ) // true
        // console.log( /^(黑马程序员){3,}$/.test('') ) // false
        // console.log( /^(黑马程序员){3,}$/.test('黑马程序员员员') ) // false
        // console.log( /^(黑马程序员){3,}$/.test('黑马程序员员员6666') ) // false
        // console.log( /^(黑马程序员){3,}$/.test('黑马程序员员员员员员') ) // false
        // console.log( /^(黑马程序员){3,}$/.test('黑马程序员黑马程序员黑马程序员66') ) // false

        // console.log( /^(黑马程序员){3,}$/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // true


        // 只能是 黑马程序员 出现至少3次,最多5次
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员') ) // false
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员') ) // false
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员黑马程序员') ) // true
        console.log( /^(黑马程序员){3,5}$/.test('') ) // false
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员员员') ) // false
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员员员6666') ) // false
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员员员员员员') ) // false
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员黑马程序员66') ) // false

        // 下面出现了6次黑马程序员
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // false
        console.log( /^(黑马程序员){3,5}$/.test('黑马程序员黑马程序员黑马程序员黑马程序员黑马程序员') ) // true

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值