[size=large][b]replace方法和RegExp结合使用[/b][/size]
RegExp对象的构造函数可以带一个或两个参数,[color=blue]第一个参数是描述需要进行匹配的模式字符串[/color],如果有第二个参数,这个参数则指定了额外的处理指令。
最基本的正则表达式就是普通的字符串 [color=red]g[/color] :
[color=red]第二个参数表示要搜索字符串出现的全部的"cat"[/color],而不是找到第一个匹配后就停止。
如果还要模式不区分大小写,可以给第二个参数添加字符 [color=red]i[/color] :
测试:
[size=large][b]RegExp对象涉及的方法:[/b][/size]
[b]RegExp.exec()[/b]:访问模式的每一次出现
[b]RegExp.test()[/b]:方法用于检测一个字符串是否匹配某个模式 [b]常用于判断是否符合正则表达式[/b] [color=red]返回true 或 false [/color]
[b]String.match()[/b]:String 对象的 match() 方法
[b]String.search()[/b]:此方法与 indexOf()方法类似,[color=red]但是它使用的是一个RegExp对象[/color],而并非一个字符串,[color=red]返回的是字符串中一个匹配的位置[/color]。
[color=red](g)全局匹配在此方法不起作用。[/color]
[b]String.replace()[/b]:可以用另外一个字符串(第二个参数) 来代替某一个字符串或者一个匹配的[color=red]模式字符串 (第一个参数)[/color]的所有匹配。
[b]String.split()[/b]:参数可以为一个字符串也可以为 一个匹配的模式字符串 RegExp对象。
var str = "L.Rain";
var regExpTest = '' ;
regExpTest = str.replace(/[R|n]/g , "*");
var regExp = new RegExp("[R|n]","gi") ;
regExpTest = str.replace(regExp,'*') ;
//上面两种方式的效果一样
RegExp对象的构造函数可以带一个或两个参数,[color=blue]第一个参数是描述需要进行匹配的模式字符串[/color],如果有第二个参数,这个参数则指定了额外的处理指令。
最基本的正则表达式就是普通的字符串 [color=red]g[/color] :
var reCat = new RegExp("cat");
var reCat = /cat/;
var reCat = new RegExp("cat","g");
//第一和第二种 只拼配第一次的cat
//第三种 则匹配所有的cat
[color=red]第二个参数表示要搜索字符串出现的全部的"cat"[/color],而不是找到第一个匹配后就停止。
如果还要模式不区分大小写,可以给第二个参数添加字符 [color=red]i[/color] :
var reCat = new RegExp("cat","gi");
var reCat = /cat/gi;
测试:
var sToMatch = "cat";
var reCat = /cat/gi;
alert( reCat.test(sToMatch) );
[size=large][b]RegExp对象涉及的方法:[/b][/size]
[b]RegExp.exec()[/b]:访问模式的每一次出现
var sToMatch = "a bat , a Cat , a fAt ,a baT , a faT cat";
var reAt = /at/;
var arrMatches = reAt.exec(sToMatch);
alert(arrMatches.length); // output 1
[b]RegExp.test()[/b]:方法用于检测一个字符串是否匹配某个模式 [b]常用于判断是否符合正则表达式[/b] [color=red]返回true 或 false [/color]
var str = "ExpTest";
var patt1 = new RegExp("ExpTest");
var result = patt1.test(str);
alert(result);//返回true 说明匹配到
[b]String.match()[/b]:String 对象的 match() 方法
var sToMatch = "a bat , a Cat , a fAt ,a baT , a faT cat";
var reAt = /at/gi;
var arrMatches = sToMatch.match(reAt);
alert( arrMatches.length ); // output 6
[b]String.search()[/b]:此方法与 indexOf()方法类似,[color=red]但是它使用的是一个RegExp对象[/color],而并非一个字符串,[color=red]返回的是字符串中一个匹配的位置[/color]。
[color=red](g)全局匹配在此方法不起作用。[/color]
[b]String.replace()[/b]:可以用另外一个字符串(第二个参数) 来代替某一个字符串或者一个匹配的[color=red]模式字符串 (第一个参数)[/color]的所有匹配。
[b]String.split()[/b]:参数可以为一个字符串也可以为 一个匹配的模式字符串 RegExp对象。