2020/12/23 正则表达式

正则表达式
pattern:规则表示对字符串匹配得规则,换句话说 你要匹配什么字
modifiers:模式 匹配得范围 换句话说 在哪里匹配字符 请看下面列子

var regxp = new RegExp( /'d'/l );
        console.dir(regxp);
1var str = 'hellow,wordeee'; // 表示待匹配字符
     全局匹配e字符
     var reg = /e/g;  //正则表达式,指定匹配字符的规则

2    test() 验证某个字符中是否存在匹配字符 返回 true false
     var res = reg.test(str)

正则与api
var str = 'hellow,worreeee';
var reg = /e/g;
var res = str.match(reg);
console.log(res)


var str = 'hellow,worreeee';
var reg = /e/g;
var str1 =str.replace(reg,'鱼皮怪')
console.log(str1);
修饰符:
var str = 'hellow,hjajsjn';
        // g 表示全局匹配  ,匹配0到多个结果
        var reg = /e/g;
        // 匹配大小写字符
        var reg1=/e/i;

        var reg2 = /e/ig;
        //ig 表示全局匹配忽略大小写
        //m 表示多行匹配
        console.log(str.match(reg));

元字符与原驿字符:
元字符:看不懂
[] {} () + * . \d

var res ='aeeeeeeeeeeeaeaeeaeaaeeae';
          // [] 中内容:匹配字符或者 为 或
          // 或 默认匹配字符为1个字符
          var  reg = /[eanc]/g;
          console.log(res.match(reg));

//匹配 abc 个任意字符的英文字符
        // a 或 b 或 c
        var reg1 = /[abc]/g

        //匹配 26 个任意的英文字符
        var reg2 =/[a-z]/

忽略分组:

在这里插入图片描述

断言
正向前言:
负向前言:
断言:当patten{规则} 匹配到结果后,应当看看左或者右字符是否满足断言。满足就匹配 不满足就不匹配
请看下面列题:

1var reg = /\w(?=\d)/g
   var str = 'aa';   //null 当前匹配的字符不满足断言,所以不匹配
   console.log(str.match(reg));

2var reg = /\w(?=\d)/g
   var str1 = 'aa12'
   //真正匹配字符的是\w,匹配结果也是由于\w决定
   //断言,看的是被匹配旁边得字符是否满足条件,不是看被匹配得自身
   console.log(str1.match(reg));
var str1 = 'aann123'
                   var reg2=/(?=\d)\w/
                   console.log(str1.match(reg2));

3// 需求 要想匹配除 regex 和 regular 之外的 re

   // 1找特点 : 右边都是 g
   // 2只要匹配到re 右边字符不是g

var str ='regex  represents regular expression'
   var reg =/re(?!g)/g
   console.log(str.match(reg));

4:需求  匹配除了 开头的re
        var str ='regex  represents regular expression'
        var reg =/(?<=\w)re/g
        console.log(str.match(reg));



5:匹配开头的re
        var str ='regex  represents regular expression'
        console.log(str.match(/\bre/g));

断言: if中条件句也是断言 正则也是断言,对预留位置为止进行判断

1var reg5 = /a(?=b)/    //a紧跟着b 匹配a跟随b   ---->满足ab匹配结果是a   
 // var  reg6 =/(?=b)a/     <----禁止这么写

2: var reg7 = /a(?!b)/
    //   匹配不被跟随的a
    //   不满足的字符 ab
    //   满足的字符   ac
    //   匹配的结果   a

3:  var reg8 = /(?<=b)a/
    // 只匹配b后面的a 
    // 满足的ba 
    // 匹配的a  

4: var reg9 = /(?<=b)a(?=c)d/
    //(?<=b) 断言的是a字符
    //(?=c) 断言的是a字符
    // d字符没有断言

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值