zoukankan      html  css  js  c++  java
  • 正则表达式基础 多选结构 加不加括号大不同

    /^\d{1,2}|1\d{2}$/

    /^(\d{1,2}|1\d{2})$/

    这两组正则表达式 加不加括号效果是不一样的

    测试代码

    <html>
    <head>
    <title>Test reg</title>
    </head>
    <body>
    <input type="text" id="test_input" value="">
    <input type="button" value="test reg" onclick="test()">
    <body>
    <script type="text/javascript">

    function test()
    {
    var value = document.getElementById("test_input").value;
    //alert(value);
    var regExp = /^(\d{1,2}|1\d{2})$/;
    //var regExp = /^\d{1,2}|1\d{2}$/;
    if(regExp.test(value))
    {
    alert("Match OK!");
    }
    else
    {
    alert("Match Fail!");
    }
    }
    
    </script>
    </html>



    /^\d{1,2}|1\d{2}$/

    这个表是以一到两个数字开头的字符串 或者 以1后面接两个数字结尾(也就是100-199之间结尾)的字符串

    /^(\d{1,2}|1\d{2})$/

    这个表是 ^099$ 或者^100199$,也就是0199

    其实这个涉及到 多选结构

    看《精通正则表达式》(Jeffrey)13

    看到14页的时候 他就举个例子是

    ^From|Subject|Date:

    ^(From|Subject|Date):

    之间的区别

  • 相关阅读:
    PAT 05-树7 File Transfer
    PAT 05-树6 Path in a Heap
    PAT 10-2 删除字符串中的子串
    PAT 10-1 在字符串中查找指定字符
    PAT 10-0 说反话
    PAT 08-2 求矩阵的局部最大值
    PAT 07-3 求素数
    PAT 07-2 A+B和C
    PAT 07-0 写出这个数
    PAT 06-3 单词长度
  • 原文地址:https://www.cnblogs.com/simoncook/p/2189734.html
Copyright © 2011-2022 走看看