• 15、RegExp正则


    一、正则()

    (一)、创建正则表达式:

    备注:表单中的正则阻止默认行为

    可用 ==> e.preventDefault(); 也可用 ==> return false;(这个写在最后面)

    1、字面量 ==> var reg = /字符串||正则表达式/gi;
    2、构造函数 ==> var reg = new RegExp("字符串","gi");
    3、构造函数变量写法 ==> var reg = new RegExp(变量,"gi");
    备注: g 全局匹配
          i 不区分大小写  

    (二)、字符串的方法:

    1、indexOf(keyword[,startIdx]) ==> 返回第一次匹配字符在字符串中的索引,匹配不到返回-1。
    2、search(keyword) ==> 返回第一次匹配字符在字符串中的索引,支持正则表达式。
    例如:str.search(/d/)
    3、match(字符串||正则)   默认匹配字符串,返回一个数组。
    返回值:
          0 ==> 是所匹配的字符
          index ==> 匹配第一个字符所在的索引
          input ==> 对字符串的引用
    全局匹配(g):返回一个所有满足匹配条件的字符串组成的数组,如果匹配不到则返回null
    例如:str.match(/[^s]+/g)

    (三)、正则匹配规则:

    1、字符类
    小写字母的正则:
    (1.1). ==> 匹配换行外的任意字符。
    (1.2)d ==> 数组0-9。
    (1.3)w ==> 包含字母、数字、下划线
    (1.4)s ==> 空格
    1    例如:str.match(/[^s]+/g)

    (1.5) ==> 匹配数字或单词边界(空格、汉字)。
    1  例如:_str.match(/1[3-8]d{9}/g)

    备注:以上所有字符类都只是匹配“一个”字符,要全局,需加(g)
    大写字母的正则:
    (1.5)W : 非数字字母和下划线字符
    (1.5)D : 非数字
    (1.5)S : 空格以外的字符
    (1.5)B : 匹配非单词边界。

    PS:以上所有字符类都只是匹配“一个”字符 ,需要匹配全部,需要加“g“全局

    2、特殊符号
    1、{} ==>花括号 ==> 表示数量,默认贪婪模式(会尽可能多的去匹配结果)
    备注:a是数字
    (1.1) ==> {a} ==> 表示匹配a个
    (1.3)==> {a,b} ==> 表示匹配a到b个
    (1.4)* ==> 代表0个或0个以上 <===>{0,}
    (1.5)+ ==> 代表1个或1个以上 <===>{1,}
    (1.6)? ==> 代表0个或1个 <===>{0,1}
    例如:str.match(/w{5,}/g)
    2、+ ==> {1,} ==> 代表1个或1个以上
    3、* : {0,}
    4、? : {0,1}
    5、[] ==> 表示或者,表示满足中括号内其中一个条件即可 (5.1)、- ==> 表示区间
    (5.2)、^ ==> 表示非
    6、(): 表示分组(n是以最左边括号出现的顺序排列)。
    (6.1)、$1 ==> 表示第一个分组
    (6.2)、$num ==> 表示第n个分组(不能写在正则表达式里)
    (6.3)、 um ==> 在正则分组后面使用,表示对第n个分组的引用(一定要写在正则表达式里)
    (6.4)、(?:) ==> 可用来减少括号分组
    备注:编写的正则分组数量越少越好
    7、锚点定位:
    (7.1)、^ ==> 表示以什么开头
      (7.2)、$ ==> 表示以什么结尾
    8、| ==> 表示或者
        m5
    9、表示数量,对前一个字符计数
    (9.1)* ==> 代表0个或0个以上 <===>{0,}
    (9.1)+ ==> 代表1个或1个以上 <===>{1,}
    (9.1)? ==> 代表0个或1个 <===>{0,1}
  • 相关阅读:
    各种各样的Hashes
    爬取时出现报错 encoding error : input conversion failed due to input error, bytes 0xAC 0x4E 0x00 0x00
    Youtube.com中Uncaught TypeError: copy is not a function,如何解决
    生成“2021-Aug-27th”这样的1st,2nd,3rd, 4th 日期格式
    How to clear the content of the recycle bin in PowerShell?
    Delphi开发的服务在Windows2003 64位注册方式
    VS2015打开时,一直处理等待状态,并显示“Microsoft Visual Studio正忙”的提示窗,如下图
    Oracle操作类
    ie浏览器与其他浏览器兼容性问题解决
    echarts实时曲线【转】
  • 原文地址:https://www.cnblogs.com/wulongke/p/10493292.html
Copyright © 2020-2023  润新知