前言:

      在上一篇博文《ASP.NET中验证控件的使用》中,其RegularExpressValidation验证控件就是应用正则表达式的,只不过是将正则表达式封装了起来。而这里将对正则表达式做一点概述。

 

正则表达式的创建:

     正则表达式,即由普通字符(例如,从a,至 z)和特殊字符(称为元字符) 组成的文字模式。将其与字符串相匹配而得到结果(具体待下文续。。。)

    先看最基本的表达式创建法。

     // Description: 演示正则表达式的创建

     
// CopyRight: http://www.cnblogs.com/yangmingming

     
// Notes: 最基本的创建法演示

       
var re=new RegExp ();
       
//RegExp 是JS中的类,同Array类似。然而这个创建方法没有指定表达式内容
       re=new RegExp ("a");
       
//最简单的正则表达式,将匹配字母a 
       re=new RegExp ("a","i");
       
//重载的构造函数,其第二个参数指定将不区分大小写


  其中,对于第二个参数,为可选参数,包括三种:

  • g :全文查找;
  • i :不区分大小写;
  • m:多行查找;

  然而更为常见的正则表达式创建法则是:字面量的声明方式。 即:

     // Description: 演示正则表达式的创建

     
// CopyRight: http://www.cnblogs.com/yangmingming

     
// Notes: 最基本的创建法演示

       
var re=/a/i;
       
//其作用同:re=new RegExp ("a","i"),而且更常用。


正则表达式的方法、属性:

 

  其中将对正则表达式的常用方法和属性,以及相关的String的match方法讲述。

正则表达式方法:

  • test 方法:返回Boolean型。它指出被查找的字符串中是否包含该模式。如果存在返回True,否则返回False;
  • exec 方法:用正则表达式模式在字符串中寻找,并返回符合该正则表达式模式的数组;

 正则表达式属性:

  • source 属性:返回正则表达式的文本内容。只读;

 String 的匹配正则表达式的方法:

  • match 方法:找到一个或多个正则表达式的匹配,类似exec 方法,返回一数组

上述方法、属性示例代码如下:

 

     // Description: 演示正则表达式的创建

     
// CopyRight: http://www.cnblogs.com/yangmingming

     
// Notes: 最基本的创建法演示

       
//测试test方法:
       var re=/^[a-z]+\s+\d+$/i;//+表示字符至少出现一次,\s表示一空白字符,\d表示一数字
       var osVersion="Ubuntu 8";
       alert(re.test (osVersion ));
//True;
       
       
// 测试exec方法,它比较特殊,其第1号索引开始,包含的是子匹配元素
       var re=/^[a-z]+\s+(\d+)$/i; //子匹配用()定义;
       var arr=re.exec (osVersion );
       alert (arr [
0]);//osVersion完整字符串;
       alert (arr [1]);//8;
       
       
//测试match方法 
       var str="My Name Is Yangmingming";
       re
=/[A-Z]/g;  //g代表全局变量,否则得到数组长度为1;
       var arr=str.match (re);
       alert (arr); 
//输出M,N,I,Y;
       
       
//测试属性source
       var re=/[a-z]/i;
       alert (re.source );
//输出[a-z];

相关文章: