当前位置:多学网学习教育电脑学习编程入门PHP教程js 正则表达式

js 正则表达式

[08-23 22:09:33]   来源:http://www.duoxue8.com  PHP教程   阅读:265
js 正则表达式,标签:PHP技巧,php培训,php学习,php安装,http://www.duoxue8.com

在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个元素的数组,其中包括了三个为空字符串的元素。



上一页  [1] [2] [3] [4] 


js 正则表达式 结束。
Tag:PHP教程PHP技巧,php培训,php学习,php安装电脑学习 - 编程入门 - PHP教程
js 正则表达式相关文章