JS 中Regexp对象介绍

JavaScript提供了一个RegExp对象来完成有关正则表达式的操作和功能,每一条正则表达式模式对应一个RegExp实例。有两种方式可以创建RegExp对象的实例。
   1、使用RegExp的显式构造函数,语法为new Regexp("patterm”[,"flags"]).
   2、使用RegExp的隐式构造函数,采用纯文本格式:/patterm/[flags]。
   pattern部分为要使用的正则表式模式文本,是必须的。在第一种方式中,pattern部分以JavaScript字符串的形式存在,需要使用双引号或单引号括起来;在第二种方式中,patterm部分嵌套在两个“/”之间,不能使用引号。
   flags部分设置正则表达式的标志信息,是可选项。如果设置flags部分,在第一种方式中,以字符串的形式存在;在第二种方式中,以文本的形式紧接在最后一个"/"字符之后flags可以是以下标志字符的组合。
   1、g是全局标志。如果设置了这个标志,对某个文本执行搜索和替换操作时,将对文本中所有匹配的部分起作用。如果不设置这个标志,进行匹配比较时,将忽略大小写。
   2、i是忽略大小写标志。如果设置了这个标志,进行匹配比较时,将忽略大小写。
   3、m是多行标志。如果不设置这个标志,那么元字符“^”只与整个被搜索字符串的开始位置相匹配,而元字符“$”只与被搜索字符串的结束位置相匹配。如果设置了这个标志,“^”还可以与被搜索字符串的“\n” 或“\r”之后的位置(即下一行的行首)相匹配,而“$”还可以被搜索字符串中的“\n”或“\r”之后的位置(即下一行的行尾)相匹配。
  

如下代码所示:   

var myString="这是第一个正则表达式的例子";
var myregex=new RegExp("一个");//创建正则表达式

if(myregex.test(myString))
{
   alert("找到了指定的模式!");
}else
{
   alert("未找到指定的模式!");
}


由于JavaScript字符串中的“\”是一个转义字符,因此,使用显式构造函数创建RegExp实例对象时,应将原始正则表达式中的“\”用"\\"替换。

如下代码所未:

var re1=new RegExp("\\d{5}");
var re2=/\d{5}/;
alert("rel="+rel+"\nre2="+re2);


以上代码定义re1和re2是一样的,只是写法不同。由于正则表式模式文本中的转义字符也是“\”,如果正则表达式中要匹配原义字符 “\”,在正则表达式模式文本中要以“\\”来表示,当使用显式构造函数的方式创建RegExp实例对象的时候,就需要使用“\\\\”来表示原义字符“\”。

var re=new RegExp(\\\\);


对于之前提到的g,i,m这些选项可以这样写:

var reg=new RegExp("\d",igm);
//或者
var reg=/\d/igm;


 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值