js 正则表达式
[08-23 22:09:33] 来源:http://www.duoxue8.com PHP教程 阅读:265次
js 正则表达式,标签:PHP技巧,php培训,php学习,php安装,http://www.duoxue8.com
js 正则表达式 结束。
在replace函数中使用$引用子正则表达式匹配内容
就像在正则里我们可以使用1来引用第一个子正则表达式所匹配的内容一样,我们在replace函数的替换字符里也可以使用$1来引用相同的内容。
还是来看一个例子吧:
var reg = /(w+).(w+).(w+)/; var str = 'bbs.blueidea.com'; var newStr = str.replace(reg,'$1.$1.$1'); document.write(newStr);
输出的结果为:
bbs.bbs.bbs
首先,我们知道第一个子正则表达式匹配到了bbs,那么$1也就代表bbs了。其后我们把替换字符串设置为'$1.$1.$1',其实也就是“bbs.bbs.bbs”。同理,$2就是blueidea,$3就是com。
在来看一个例子,颠倒空格前后两个单词的顺序。
var reg = /(w+)s(w+)/; var str = 'cainiao gaoshou'; var newStr = str.replace(reg,'$2 $1'); document.write(newStr);
结果为:gaoshou cainiao,也就是空格前后的单词被调换顺序了。
由于在替换文本里$有了特殊的含义,所以我们如果想要是用$这个字符的话,需要写成$$,例如:
var reg = /(w+)s(w+)/; var str = 'cainiao gaoshou'; var newStr = str.replace(reg,'$$ $$'); document.write(newStr);
结果为:$ $。
search方法和split方法
同样,字符串的search方法和split方法中也可以使用正则表达式,形式如下:
str.search(reg);
search返回正则表达式第一次匹配的位置。例子:
var reg = /idea/; var str = 'blueidea'; var pos = str.search(reg); document.write(pos);
结果为4。
下面的例子找出第一个非单词字符:
var reg = /W/; var str = 'bbs.blueidea.com'; var pos = str.search(reg); document.write(pos);
结果为3,也就是那个点“.”的位置。
str.split(reg,’seprator’); split返回分割后的数组,例如: var reg = /W/; var str = 'bbs.blueidea.com'; var arr = str.split(reg); document.write(arr);
结果为:bbs,blueidea,com,可见数组被非单词字符分为了有三个元素的数组。
var reg = /W/; var str = 'http://www.baidu.com/'; var arr = str.split(reg); document.write(arr.length+'<br />'); document.write(arr);
结果为:
7
http,,,www,baidu,com,
可见字符串被分为了有7个元素的数组,其中包括了三个为空字符串的元素。
js 正则表达式 结束。
Tag:PHP教程,PHP技巧,php培训,php学习,php安装,电脑学习 - 编程入门 - PHP教程