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

    一、正则表达式
    1、正则表达式包括两部分:
    ① 定义正则表达式的规则; ② 正则表达式的模式(i/g/m);
     
    2、声明正则表达式:
    ① 字面量声明:
         var reg=/表达式规则/表达式模式;
          eg: var reg= /white/g;
    ② 使用new关键字:
         var reg=new RegExp("表达式规则","表达式模式");
          eg: var reg=new RegExp("white","g");
     
    3、正则表达式的常用模式:
     ① g:全局匹配。不加g默认为非全局匹配,只匹配第一个符合要求的字符串。
         "www".replace(/w/,"#"); -> #ww;
         "www".replace(/w/g,"#"); -> ###;
     
     ② i:忽略大小写。不加i,默认要求大小写不匹配;
         "aAa".replace(/A/,"#"); -> a#a;
         "aAa".replace(/A/i,"#"); -> #Aa;
         "aAa".replace(/A/gi,"#"); -> ###;
     
     ③ m:多行匹配模式。不带m,则一个字符串只有一个开头,一个结尾;
          带m后,如果字符串分为多行,则每行都有一个开头,一个结尾。
         `abc                                          `#bc
            abc`.replaced(/^a/g,"#") ->  abc`
     
           `abc                                            `#bc
             abc`.replaced(/^a/gm,"#") -> #bc`
     
        [Tips:如何写多行字符串]
         >>> 普通字符串中,插入 表示换行
         >>> ES6中,允许使用反引号`包裹字符串,反引号包裹的字符串中,
               会保留空格与回车。`abc
                                            abc`
     
    4、正则表达式的常用方法:
    ① test():检测一个字符串,是否符合正则表达式的验证,返回true或false;
           eg: /white/.test("whiteWhitewhite"); -> true
     
    ② exec():检测一个字符串,是否符合正则表达式的验证。如果验证成功,返回结果数
                       组;如果验证失败,返回null;
                结果数组中:
                index属性:表示从字符串的第几个字符,开始符合正则要求;
                input属性:返回完整的被检索的字符串;
                下标第0个:表示符合整个正则表达式的那部分字符;
                下标第1个到第n个:表示符合正则的第1个到第n个子表达式的部分。
                                                 子表达式,就是正则中的()。也就是,正则中有几个(), 结果
                                                 数组中就有几个下标。
               /12(3)(4)5/.exec("aaa12345");
                 [
                   0:12345,
                   1:3,
                   2:4,
                   index:3,
                   input:"aaa12345",
                   length:3,
                 ]
  • 相关阅读:
    Git: Host key verification failed(主机密钥验证失败)
    winrar 5.9.0 注册文件
    Intellij Idea开发: 手把手教你Java GUI开发,并且打包成可执行Jar程序
    axios 报 登出跨域 withCredentials: false,
    dist目录打war包命令 jar -cvf yourName_web.war *
    浅谈Dubbo服务
    PO BOX地址校验
    一次/etc/sudoers: syntax error near line 21问题的解决记录
    websocket+springboot原生
    自定义maven插件
  • 原文地址:https://www.cnblogs.com/sin0/p/7498219.html
Copyright © 2011-2022 走看看