javascripts使用正则表达式--1概念与定义

正则表达式(regular Expression)是一个描述字符模式的对象,其中字符模式由普通字符(如A~Z 、a~z、0~9)和特殊字符(元字符)组成

一、 正则表达式的运用范围:

  1、验证字符串:验证给定的字符串或子字符串是否符合指定特征,例如,验证邮件地址、电话号码、手机号码等用户提交的数据是否合法

2、查找字符串:从指定的文本中查找符合特征的字符串

3、替换字符串:把给定的符合特征的字符串替换成其他字符串

4、提取字符串:从给定的字符串中提取符合指定特征的子字符串

二、定义正则表达式

javascript通过RegExp对象实现对正则表达式的支持

定义正则表达式的两种方法:构造方法(字符串匹配模式) &&  直接量(正则表达式匹配模式)

  1、  构造方法: 第一个参数为匹配模式,第二个参数为修饰性 字符 ,可选(g,i,m)

         g:全局匹配字符(global的缩写),即指定的字符串范围内的执行所有的匹配查找

         i:大小写不敏感字符(case-insensitive),即视字符串中字母大小写 为等同

         m:多行匹配字符(multiline的缩写),即能够在多行字符串中执行操作

   1.1 var r1=new RegExp("a")

   1.2  var r2=new RegExp("a","gi")

     var s="javascript"

     var  a1=s.match(r1);

    var  a2=s.match(r2);

    alert(a1);//返回数组["a"],注:只返回字符串中第一个 匹配字符

    alert(a2);//返回数组["a","a","A","A"]

  首字符查找

 var  r=new RegExp("\\b\\w","gi");//用\转义,其中\b表示单词边界   \w表示任意ASCII字符

 var  s="javascript JAVA";

 var  a=s.match(r);

alert(a);// ["j","J"]

   

  2、   直接量

  首字符查找

 var  r=/\b\w/gi;

 var  s="javascript JAVA";

 var  a=s.match(r);

alert(a);// ["j","J"]

构造函数和直接量的区别:

    1\ 构造函数接收的是字符串,其中  第一个参数 如果是特殊字符必须使用   双反斜杆 表示,如\\b\\w,以防止字符串中每个字符被EegExp()构造函数转义,第二个参数的修饰词也应该使用 引号 表示 "gi"

  正则表达式直接量,每个字符都是按照正则表达式的规则来定义,普通字符和特殊字符都会被转义

     2  构造函数可以动态创建正则,但直接量不可以

var  r=new RegExp("a"+s+"b","g");//动态创建正则表达式

var r=/"a"+s+"b"/g; //错误的用法,因为对于直接量来说,“"”和“+”都视为普通的字符

猜你喜欢

转载自blog.csdn.net/wenmin1987/article/details/85930577