• Javascript-正则表达式常用字符集及方法


    正则表达式修饰符修饰符 可以在全局搜索中不区分大小写)

    i(ignoreCase)执行对大小写不敏感的匹配

    g (global)     执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)

    m(multiline) 执行多行匹配

    正则表达式模式

    方括号用于查找某个范围内的字符

    [abc]     查找方括号之间的任何字符

    [^abc]  查找任何不在方括号之间的字符

    [0-9]     查找任何从 0 至 9 的数字

    [A-Z]    查找任何从大写 A 到大写 Z 的字符

    [a-z]     查找任何从小写 a 到小写 z 的字符

    [A-z]     查找任何从大写 A 到小写 z 的字符,即匹配所有的英文字母(不区分大小写)

    [adgk]   查找给定集合内的任何字符

    [^adgk] 查找给定集合外的任何字符

    (red|blue|green) 查找任何指定的选项

    (x|y)     查找任何以 | 分隔的选项

    元字符是拥有特殊含义的字符

    uxxxx   查找以十六进制数 xxxx 规定的 Unicode 字符

    .           查找单个字符,除了换行和行结束符之外的任意字符

           查找换行符

    f         查找换页符

            查找回车符

            查找制表符

    v        查找垂直制表符

    (总结下面的这些元字符小写为查找是的情况,大写就为查找不是的情况)

             匹配单词边界

    B         匹配非单词边界  

    w        查找单词字符,即匹配一个数字、下划线或字母字符,等价于[A-Za-z0-9_]

    W        查找非单词字符,等价于[^A-Za-z0-9_]

    d         查找数字,即匹配一个数字字符,等价于[0-9]

    D        查找非数字字符,即除了数字之外的任何字符,等价于[^0-9]

    s         查找空白字符

    S        查找非空白字符

    量词

    n+       匹配任何包含至少一个 n 的字符串,即“ + ”  表示匹配前一项1次或多次,等价于{1,}

    n-        匹配任何包含零个或多个 n 的字符串

    n?        匹配任何包含零个或一个 n 的字符串,即“ ? ”  表示匹配前一项0次或1次,也就是前一项是可选的,等价于{0,1}

    n*        匹配任何包含零个或多个n的字符串,即“ * ”  表示匹配前一项0次或多次,等价于{0,}

    n{X}    匹配包含 X 个 n 的序列的字符串,即{n} 表示匹配前一项n次

    n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串,即{n,m} 表示匹配前一项至少n次,但是不超过m次

    n{X,}   匹配包含至少 X 个 n 的序列的字符串,即{n,} 表示匹配前一项n次,或多次

    n$        匹配任何结尾为 n 的字符串," $ " 匹配字符串的结束

    ^n       匹配任何开头为 n 的字符串," ^ " 匹配字符串的开始

    ?=n      匹配任何其后紧接指定字符串 n 的字符串

    ?!n       匹配任何其后没有紧接指定字符串 n 的字符串

    /.../       代表一段正则的开始和结束

    转义字符方式

       反斜杠,用于将上述具有特殊含义的符号转义成普通符号,例如你需要匹配$美元符号,而不是行尾,你可以写成“ $ ”即可

    RegExp 对象方法

    exec      检索字符串中指定的值。返回找到的值,并确定其位置

    用于检索字符串中的正则表达式的匹配。如果字符串中有匹配的值返回该匹配值,否则返回 null。如:

     1 <script>
     2 var str="Hello world!";
     3 //查找"Hello"
     4 var patt=/Hello/g;
     5 var result=patt.exec(str);
     6 document.write("返回值: " +  result); 
     7 //查找 "W3Cschool"
     8 patt=/W3Cschool/g;
     9 result=patt.exec(str);
    10 document.write("<br>返回值: " +  result);
    11 </script>

    这样子返回的在HTML输出的就是:

                                        返回值: Hello
                                        返回值: nul

    ------------------------------------------------------------------------------------

    test       检索字符串中指定的值。返回 true 或 false

     1 <script>
     2 var str="Hello world!";
     3 //查找"Hello"
     4 var patt=/Hello/g;
     5 var result=patt.test(str);
     6 document.write("返回值: " +  result); 
     7 //查找 "W3Cschool"
     8 patt=/W3Cschool/g;
     9 result=patt.test(str);
    10 document.write("<br>返回值: " +  result);
    11 </script>

    这样子返回的在HTML输出的就是:

                                        返回值: true
                                        返回值: false

    ------------------------------------------------------------------------------------

    search   检索与正则表达式相匹配的值的位置,返回数字,如果没有找到则返回-1

    如:

    1 <p id="demo">单击显示查找的位置</p>
    2 <button onclick="myFunction()">点我</button>
    3 <script>
    4 function myFunction(){
    5     var str="Visit W3CSchool!"; 
    6     var n=str.search("W3CSchool");
    7     document.getElementById("demo").innerHTML=n;
    8 }
    9 </script>

    像这样的返回值n=6

    -----------------------------------------------------------------------------------

    match    找到一个或多个正则表达式的匹配,返回找到的值

    可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配,如:

    1 <p id="demo">单击按钮显示matches</p>
    2 <button onclick="myFunction()">点我</button>
    3 <script>
    4 function myFunction(){
    5     var str="The rain in SPAIN stays mainly in the plain"; 
    6     var n=str.match(/ain/g);
    7     document.getElementById("demo").innerHTML=n;
    8 }
    9 </script>

    像这样的最终显示输出的就是 ain,ain,ain

    ----------------------------------------------------------------------------------

    replace  替换与正则表达式匹配的子串

    用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串,如:

     1 <p>单击按钮将段落中“Microsoft”替换成“W3CSchool”:</p>
     2 <p id="demo">Visit Microsoft!</p>
     3 <button onclick="myFunction()">点我</button>
     4 <script>
     5 function myFunction(){
     6     var str=document.getElementById("demo").innerHTML; 
     7     var n=str.replace("Microsoft","W3CSchool");
     8     document.getElementById("demo").innerHTML=n;
     9 }
    10 </script>

    这样子

    Visit Microsoft!这个就会被改变为:Visit W3CSchool!

    ----------------------------------------------------------------------------------

    split       把字符串分割为字符串数组

    按照你所定义的方式将匹配的字符串分割成数组,如:

                                                               var str="How are you doing today?";
                                                               var n=str.split(" ");

    这样返回的就是:[How,are,you,doing,today?]  按照所定义的空格将str里的值分割成了数组。

  • 相关阅读:
    Visual Studio插件CodeRush全新发布v20.1.5|支持运行设置文件
    DevExpress Data Access v20.1新版亮点:XPO
    VCL界面工具——DevExpress VCL v20.1.3全新发布
    你想要的WinForm界面开发教程在这里
    WPF界面开发技巧你知多少?Data Editors如何实现多选?
    Web开发实用技能,看Kendo UI for jQuery如何导出Excel(一)
    DevExpress XAF框架2020新改变!一篇文章带你看完
    Winforms界面开发新技能——Data Grid
    一招教你如何在WPF界面开发时自定义外观,快来Get!
    完整的jQuery UI组件库:Kendo UI for jQuery发布R2 2020 SP1
  • 原文地址:https://www.cnblogs.com/leona-d/p/5848969.html
Copyright © 2020-2023  润新知