元字符和精准匹配

普通字符与元字符

  • 我们自己写的规则,比如说 /男/ , /刘德华//abc/ 这些都是字面意思,写男就是找男,写刘德华就是找刘德华,写abc就是找abc,这就会所谓的 普通字符
  • 但是在正则中用一些特殊的符号表示了特殊的含义,也就是说,你写一个符号,它可能不是找某个符号,而是找它所蕴含的特殊含义。例如: /./, 它不是找 .,因为 . 在正则中有特殊含义,那么对于这种有特殊含义的字符,我们就称之为 元字符

 

/^内容/  // 它不是找^内容,因为^有特殊含义,它代表以什么开头,所以这句话的意思是找 以某个内容开头的字符串
/内容$/  // 以什么结尾,以这个内容结尾的 

       // 默认这种写法代表只要任意位置有男这个字即可
        console.log( /男/.test('这个世界,有男有女!') ) // true
        console.log( /男/.test('男人就是难') ) // true
        console.log( /男/.test('我的性别是男') ) // true

        
        // 找以 男 开头
        console.log( /^男/.test('这个世界,有男有女!') ) // false
        console.log( /^男/.test('男人就是难') ) // true
        console.log( /^男/.test('我的性别是男') ) // false

        // 找以 男 结尾
        console.log( /男$/.test('这个世界,有男有女!') ) // false
        console.log( /男$/.test('男人就是难') ) // false
        console.log( /男$/.test('我的性别是男') ) // true

  • 精确匹配
    • ^$ 结合起来就是精确匹配
    • 语法

/^内容$/  // 代表字符串只能是这个内容,不能有多余的部分,如果只是这个内容就得到true,否则得到false 

        // 这个就叫精确匹配
        // 只能有 黑马程序员 这个五个字,不能有其他任意内容
        console.log( /^黑马程序员$/.test('黑马程序员棒棒哒') ) // false
        console.log( /^黑马程序员$/.test('黑马程序员非常牛逼') ) // false
        console.log( /^黑马程序员$/.test('黑马程序员黑马程序员黑马程序员') ) // false
        console.log( /^黑马程序员$/.test('黑马程序员') ) // true 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值