Javascript中RegExp

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/aacm1992/article/details/11953361
仅作为个人笔记,不够详细。

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);

————————————————
版权声明:本文为CSDN博主「Peanuts_D」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/aacm1992/article/details/11953361

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值