@优秀的判断力来自经验,但经验来自于错误的判断。

正则表达式基本语法

Posted on 2017-08-12 15:35  ZMQM  阅读(104)  评论(0)    收藏  举报

^zmq       表示以zmq开始的字符串    

zmq$        表示以zmq结尾的字符串

^zmq$      表示以zmq开头也结尾,就只有zmq了    (可以用来截取指定的字符串

“*”    表示没有或者更多        “+”   至少出现一次,也可以出现好多次         “?”   表示没有或者是一次

  例如:

              ab*          表示是出现一次a ,0次或者更多次b   而不是出现0次或更多ab    

              ab+          表示出现一次a,至少出现一次b或者是更多次b     切记两个字体不是合在一起的而是分开的

               ab?        表示出现一次a,0次b或者一次b

               a?b+$       表示出0次或一次a,至少出现过一次b的结尾的字符串

              {花括号中的内容代码的重复的次数}

    ab{2}          表示出现一次a,2次b     而不是2次ab

               ab{2,}       表示出现一次a,至少2次b ,可以更多个b             相当于“,”后面没有数字是正无穷。

    ab{3,5}         表示有一个a,3-5个b

    |    或   啦,学过一点算点的同学都会知道

               hi|hello           hi  或者是hello

               (b|cd)ef       表示的是匹配    bef         cdef              ()中的内容表示选其一

     “.”   表示可以替代任何字符

                a.[0-9]    表示a后面跟着一个任意字符,和一个0-9之间的数字

    []   中的内容表示出现【】范围中的任何一个字符都行

               [a-zA-z]  表示出现大小写字符中的其中一个

               [0-9]%              表示百分号前面必须是一个数字

                [^]表示不希望某个字符出现    不希望出现的范围是还是【】内容里面中的范围

               【^a-zA-z】 不希望出现字母

          修饰符:

                       i  忽略大小写       

      g   全局匹配

      U   拒绝贪婪   (.*?)取消贪婪        也就是不全局,匹配到第一个就停止

                      s    使用.能匹配任何字符

 常用方法 正则方法:    test();          返回值为布尔值                  reg.test(str);

                                      exec();           返回值为匹配的字符串     同上                                              没有获取到返回值为null 

                 字符串方法:      match()          同exec()  返回值为匹配到的字符串                                没有获取到返回值为null

 

                  test();        实例运用:

                                               if(user==""){
                                                         alert("请输入密码");
                                                          return false;
                                                    }else{
                                                          if(!(/^1[3-9]\d{9}$/).test(user)){
                                                          alert("不符合要求");
                                                          return false;
                                                            }
                                                      }

@用代码行数来测评软件开发进度,就相对于用重量来计算飞机建造进度。