首页 > 技术文章 > 正则表达式

cjw-jxd 2017-05-24 12:02 原文

语法要点:

正则:强大的字符串匹配工具

1、写法:

    js写法:var reg = new RegExp();括号内填要匹配的内容

      prel写法: var reg = /    /gim; --->>    g表示全局匹配,i表示忽略大小写,m表示多行匹配;

2、正则表达式的关键词

  search  表示查找需要匹配的内容,输出的结果有两种(index值和-1),匹配到了就输出相应内容的index值,没有匹配成功就输出-1;  

  split  表示切分字符串

  substring  表示获取子字符串  -->  如:str.substring(2,5) 表示获取字符串中第二位到第五位的的字段,但不包括第五位

                     str.substring(2) 表示从第二位开始到后面所有的数字

  charAt  表示获取某个字符  -->  如: str.charAt(3)  表示获取index为3的那个字符

  match  把所有匹配的东西全都提取出来

  replace  替换所有匹配的字符

  test  检验一个字符串知否符合这个正则表达式   -->  re.test()  -->里面表示匹配内容

     test有个特点,即只要字符串有一部分符合要求,就会返回一个true,用^$解决

3、各种正则符号

  [] : 表示一个范围,如[0-9] --> 表示一个范围

          排除,如[^0-9] --> 表示除0到9以外的其他字符

        其中的某个字符,如[abc]d --> 可以匹配 ad bd cd

  ^ : 表示一个正则的开始

  $ : 表示一个正则的结束

  . : 表示任意字符

    案例:去除html标签的正则  --->  var re= /<[^<>]+>/g

  + : 等价与{1,},表示一次或者一次以上

  ?: 等价于{0,1},表示0次或者1次

  * : 等价于 {0,},表示任意次数,一般不用

例子:邮箱校验

    var re = /^\w+@[]a-z0-9]\.[a-z]{2,3}$/

  转义字符:

   \d : [0-9]           \D : [^0-9]

   \w : [a-z0-9_]          \W : [^a-z0-9]

   \s : 空格,空白字符    \S : 除空格外的其他所有字符

 

  量词(个数):

    {n}    表示正好出现n次,即会有n个字符出现     如座机电话  [1-9]\d{7}

    {n,m}  表示最好出现n次,最多出现m次    如QQ号    [[1-9]\d{4-10}

    {n,}  表示最少n次,最多无限次

  

推荐阅读