你的认同是对我最大的赞美。

正则表达式

  说起正则表达式,那么要问了,什么是正则表达式?

    正则表达式是一个描述字符模式的对象,它是由一些特殊符号组成的,这些符号和在SQL Server中的通配符一样,其组成的字符模式用来匹配各种表达式。

  那么,为什么需要正则表达式呢?

       在开发HTML表单时经常会对用户输入的内容进行验证。例如,检验邮箱是否正确,密码是否为空等。那么就需要正则表达式来进行验证。

  正则表达式的特点是什么?

    1. 灵活性、逻辑性和功能性非常的强;
    2. 可以迅速地用极简单的方式达到字符串的复杂控制。
    3. 对于刚接触的人来说,比较晦涩难懂。

  1.定义正则表达式

    1)普通方式

    定义普通的语法格式如下:

    var reg=/表达式/附加参数

    表达式:一个字符串代表了某种规则,其中可以使用某些字符来代表特殊的规则。

    附加参数:用来扩展表达式的含义,主要有以下三个参数。

        g:代表可以进行全局匹配。

        i:代表不区分大小写。

        m:代表可以进行多行匹配。

     2)构造函数

    定义构造函数的语法如下:

    var reg=new RegExp(“表达式”,“附加参数”);

    普通方式中的表达式必须是一个常量字符串,而构造函数中的表达式可以是常量字符串,也可以是JavaScript敞亮。

  2.据点(.)元字符

    句点元字符是使用范围最广的一个元字符。它可以匹配字母字符(不论大小写),也可以匹配数字。

  .  元字符的缺点:

      跟它的优点一样,因为可以匹配所有字符,包括原先的标点符号。所有使用.元字符是非常危险的事情。

  3.\w元字符

    \w元字符只匹配英文字母字符、数字和下划线。与.元字符不同,因为\w元字符不匹配象形符号、标点符号,在某些实现中也不匹配非英语语言中的字符。

   4.\W元字符

    \W元字符跟\w元字符相反,\W元字符匹配\w不匹配的字符。

   5.数字和非数字

    许多正则表达式的实现用字符来表示数字或者非数字。

    其中,元字符\d被广泛的表示数字。而元字符\D则在支持\d元字符的实现中被用于表示非数字。

      1)\d元字符

        \d元字符匹配一个0-9之间的数字。

      2)\D元字符

        \D元字符匹配\d元字符不匹配的其他字符。

  6.表达式的模式

    表达式的模式分为:简单模式和复合模式。

     1)简单模式

        简单模式是指通过普通字符的组合来表达的模式。如:

        var reg=/china/;

        var reg=/abc8/;

    简单模式只能表示具体的匹配,如果要匹配一个邮箱或者电话号码,就不能使用具体的匹配,这就要用到复合模式。

    2)复合模式

    复合模式是指含有通配符来表达的模式,这里的通配符与SQL Server中的通配符相似。如:

      var reg=/^\w+$/;

    其中,+、\w、^和$都是通配符,代表着特殊的含义,因此复合模式可以表达更为抽象的规则模式。

  7.正则表达式高级规则

     匹配次数中的贪婪与非贪婪

      贪婪模式

        见名字意,在字符串中尽可能的匹配最多次数的表达式,就叫做贪婪模式。

      非贪婪模式

        在修饰匹配次数的特殊符号后再加上一个 "?" 号,则可以为表达式尽量少的匹配,或者不匹配,这就是非贪婪模式。

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  

 

posted @ 2016-09-06 16:19  Tony_copper  阅读(205)  评论(0编辑  收藏  举报
 Tony