javascript中使用正则表达式的replace方法
var m="12345";
var n=/^\d+$/;
if(n.test(m)) alert('ok');
今天看了一个关于replace方法中用正则的例子,很有价值,可以轻松的实现诸如lenb和trim方法。
我想总结的不是这个,而是在replace中模式与$的替换,例如:
var m=eval("/(northsnow)+/g");
var n="i am northsnow,I come from Jilin";
var t=n.replace(m,"<b>$1</b>");
alert(n);
则 得到:i am <b>northsnow</b>,I come from Jilin";
括号里面的模式匹配的结果会被提取出来放到$变量中,$1存储第一个模式的匹配,$2存储第二个模式的匹配,以此类推。
例如:
var m="northsnow is a good man";
var n=m.replace(/(\s)([a-z]+)/g,"$1")
得结果:northsnow
var n=m.replace(/(\s)([a-z]+)/g,"$2")
得结果:northsnowisagoodman
另外,还有一个\num可以用,这里边的num是一个整数,表示将第num个模式拿过来放到这里。
如果(.)\1表示连续重复的两个字符。
如果(.)\d*\1 表示有两个相同的字符,中间夹了n个数字,n>=0
具体就不举例子了。只要掌握了技巧,那么就靠实践来积累经验了。
from:asp学习网/title:javascript中使用正则表达式的replace方法/ time:2007-10-19 1:47:42
本文主题正则表达式,javascript