zoukankan      html  css  js  c++  java
  • js正则表达式总结

    新建正则表达式

    var reg = /正则表达式/(g,i,m)

    var reg = RegExp(‘mutations’,(g,i,m))

    g全局匹配不加代表只匹配第一个

    i忽略大小写

    m多行匹配

    1.验证 

    用于验证时,通常需要在前后分别加上^和$,用于匹配整个待验证字符串;

    2.搜索替换 

    要在前后加上

    字符类匹配

    […] 查找方括号之间的任何字符
    [^…] 查找任何不在方括号之间的字符
    [a-z] 查找任何从小写 a 到小写 z 的字符
    [A-Z] 查找任何从大写 A 到大写 Z 的字符
    [A-z] 查找任何从大写 A 到小写 z 的字符
    . 查找单个字符,除了换行和行结束符
    w 查找单词字符,等价于[a-zA-Z0-9]
    W 查找非单词字符,等价于[^a-zA-Z0-9]
    s 查找空白字符
    S 查找非空白字符
    d 查找数字,等价于[0-9]
    D 查找非数字字符,等价于[^0-9]
     匹配单词边界
    查找回车符
    查找制表符
    查找 NULL 字符
    查找换行符

    重复字符匹配

    {n,m} 匹配前一项至少n次,但不能超过m次
    {n,} 匹配前一项n次或更多次
    {n} 匹配前一项n次
    n? 匹配前一项0次或者1次,也就是说前一项是可选的,等价于{0,1}
    n+ 匹配前一项1次或多次,等价于{1,}
    n* 匹配前一项0次或多次,等价于{0,}
    n$ 匹配任何结尾为 n 的字符串
    ^n 匹配任何开头为 n 的字符串
    ?=n 匹配任何其后紧接指定字符串 n 的字符串
    ?!n 匹配任何其后没有紧接指定字符串 n 的字符串

    'abc123'.replace(/w(?=d)/,'123')
    "ab123123"
    'abc123'.replace(/w(?!d)/,'123')
    "123bc123"
    

      

    匹配特定数字

    ^[1-9]d*$    匹配正整数
    ^-[1-9]d*$   匹配负整数
    ^-?[0-9]d*$   匹配整数
    ^[1-9]d*|0$  匹配非负整数(正整数 + 0)
    ^-[1-9]d*|0$   匹配非正整数(负整数 + 0)
    ^[1-9]d*.d*|0.d*[1-9]d*$  匹配正浮点数
    ^-([1-9]d*.d*|0.d*[1-9]d*)$ 匹配负浮点数
    ^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$  匹配浮点数
    ^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$   匹配非负浮点数(正浮点数 + 0)
    ^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$  匹配非正浮点数(负浮点数 + 0)

    匹配特定字符串

    ^[A-Za-z]+$  匹配由26个英文字母组成的字符串
    ^[A-Z]+$  匹配由26个英文字母的大写组成的字符串
    ^[a-z]+$  匹配由26个英文字母的小写组成的字符串
    ^[A-Za-z0-9]+$  匹配由数字和26个英文字母组成的字符串
    ^w+$  匹配由数字、26个英文字母或者下划线组成的字符串

    分组 ()()() $1$2$3

    测试 reg.test()

    var reg = /abc/g;
        var str = "123abc456abc";
        console.log(reg.lastIndex);//0
        console.log(reg.test(str));//true
        console.log(reg.lastIndex);//6
        console.log(reg.test(str));//true
        console.log(reg.lastIndex);//12
        console.log(reg.test(str));//false
    

     reg.exec()

    var str = "xyz";
      var reg1 = /x/;
      var reg2 = /a/;
      var res1 = reg1.exec(str);
      var res2 = reg2.exec(str);
      console.log(res1);//["x", index: 0, input: "xyz"]
      console.log(res2);//null
    

      reg.search()

    var str = "abcdcef";
      console.log(str.search(/c/g));//2
    

      

  • 相关阅读:
    【转帖】android线程知识整理
    Andorid开发笔记
    Flex 4.6 手机项目第一次开发小记
    memory point
    两个sql server 2000的通用分页存储过程
    网页通用视频播放(asp.net2.0原作)
    c#操作XML常用方法
    也说项目开发经验
    SQL Server各种日期计算方法
    Server.Transfer()方法在页间传值
  • 原文地址:https://www.cnblogs.com/shuaihan/p/7348589.html
Copyright © 2011-2022 走看看