Javascript中RegExp

仅作为个人笔记,不够详细。

RegExp对象基本概念

直接量语法

/pattern/attributes      var reg=/^[0-9]*$/gim

创建 RegExp 对象 

 RegExp  reg = new  RegExp(patterns,attributes)   

ECMA  ( element class markup attribute )

参数 attributes 是一个可选的字符串,包含属性 "g"(global)、"i"(ignore) 和 "m"(multiline),分别用于指定全局匹配、区分大小写的匹配和多行匹配

RegExp 对象方法

Test()

  RegExpObject.test(string)

判断string中是否有与表达式匹配的字符串,有则返回true,否则返回false

Exec()

     RegExpObject.exec(string)

      会返回一个匹配字符数组(永远只返回第一个匹配,但是如果有分组则按顺序返回分组,这些组成数组)

var str= "cat2,hat8" ;
var reg=/c(at)\d/ ;  有分组
console.info(reg.exec(str));//运行返回   ["cat2", "at"]
Match()

    string.match(RegExpObject)

   它和exec有类似,也是返回一个数组,但它们有区别。

区别1:如下如果正则中有g,则match返回所有匹配。而exec永远只返回与第一个匹配有关的信息。

var someText= "web2.0 .net2.0" ;
var pattern=/(\w+)(\d)\.(\d)/g;
var outCome_exec=pattern.exec(someText); ["web2.0","web","2","0"]
var outCome_matc=someText.match(pattern); ["web2.0","net2.0"]
区别 2 :如果没有 g ,但是有分组,则两个结果一样。或者没有 g 也没有分组。只返回第一个匹配。

Search()

     stringObject.search(regexp)

返回第一个匹配的起始位置。

Replace()

    stringObject.replace(regexp/substr,replacement)

   返回新替换过后的新字符串。

如果是字符串,替换第一个。如果是正则表达式中有g,则全部替换,否则也是一个。

function fn() { 
for(var i = 0;i < arguments.length;i++){
alert("第"+(i+1)+"个参数的值:"+arguments[i]);
} 
} 
var str = '<div id="{wo}" >{ni}</div>'; 
str.replace(/\{([a-z]+)\}/ig, fn); 

Arguments代表全部参数。

Split()

stringObject.split(separator,howmany)

第一个参数是字符串或者正则表达式,从它开始分解字符串。第二个参数表示返回数组的最大长度。

var str= "cat2,hat8" ;
var reg=/at/ ;
console.info(str.split(reg));
["c", "2,h", "8"]
console.info(str.split(reg,2));
["c", "2,h"]

最后一个关于$0~$99的例子。

var str="alert.login.verifyfailed=Your email or password is incorrect!";
var reg=/^alert.\w*(.\w*)=((?:\w*[ !\.])*)$/;
var out=str.match(reg);
console.info($0);

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值