美文网首页
正则知识点

正则知识点

作者: 小碗吃不了 | 来源:发表于2019-10-30 17:53 被阅读0次
    • 匹配方法

      test()  用于测试给定的字符串是否符合条件 true或false
      exec() 用于提取字符串
      例:var re = /^(\d{3})-(\d{3,8})$/;
          re.exec('010-12345'); // ['010-12345', '010', '12345']
          re.exec('010 12345'); // null
          正则表达式中定义了组()
          exec()方法在匹配成功后,会返回一个Array,第一个元素是正则表达式匹配到的整个字符串,
          后面的字符串表示匹配成功的子串。
          exec()方法在匹配失败时返回null
      
    • 基本匹配

      .可以匹配任意字符
      *表示任意个字符(包括0个)
      +表示至少一个字符
      ?表示0个或1个字符
      ^表示行的开头    ^\d表示必须以数字开头
      $表示行的结束    \d$表示必须以数字结束
      {n}表示n个字符
      {n,}表示至少匹配n 次
      {n,m}表示n-m个字符
      []表示范围,更精确地匹配
      ()表示的就是要提取的分组
      
      | A|B可以匹配A或B
      \d可以匹配一个数字
      \w可以匹配一个字母或数字
      \s可以匹配一个空格
      
    • 贪婪匹配

      正则匹配默认是贪婪匹配,也就是匹配尽可能多的字符
      var re = /^(\d+)(0*)$/;
      re.exec('102300'); // ['102300', '102300', '']
      由于\d+采用贪婪匹配,直接把后面的0全部匹配了,结果0*只能匹配空字符串了
      必须让\d+采用非贪婪匹配(也就是尽可能少匹配),才能把后面的0匹配出来,加个?就可以让\d+采用非贪婪匹配
      var re = /^(\d+?)(0*)$/;
      re.exec('102300'); // ['102300', '1023', '00']
      
    • 全局搜索

      g 全局搜素  i表示忽略大小写 m表示执行多行匹配

    相关文章

      网友评论

          本文标题:正则知识点

          本文链接:https://www.haomeiwen.com/subject/rwiovctx.html