JavaScript中正则表达式函数详解(exec, test, match, replace, search, split)
1、使用正则表达式的方法去匹配查找字符串
1.1. exec方法详解
exec方法的返回值
exec方法返回的其实并不是匹配结果字符串,而是一个对象,简单地修改一下execReg函数,来做一个实验就可以印证这一点:
1 |
function execReg(reg,
str) { |
2 |
var result
= reg.exec(str); |
7 |
var str
= 'bbs.bblueidea.com' ; |
结果显示result的类型是object。而且是一个类似数组的对象。使用for in可以知道它的属性: index input 0。其中index是表示匹配在原字符串中的索引;而input则是表示输入的字符串;
至于0则是表示只有一个匹配结果,可以用下标0来引用这个匹配结果,这个数量可能改变。我们可以通过返回值的length属性来得知匹配结果的总数量。
根据以上对返回值的分析,修改execReg函数如下:
1 |
function execReg(reg,
str) { |
2 |
var result
= reg.exec(str); |
3 |
document.write( 'index:' +result.index+ '<br
/>' |
4 |
+ 'input:' +result.input+ '<br
/>' |