使用RegExp对象的exec()方法:
直接调用即可。如果匹配到字符串返回一个数组;如果没有匹配到返回null
1) var re1=new RegExp("w{2}");
var res1=re1.exec("要检索的字符串");
2)var re3=/w{2}/;
var res2=re3.exec("要检索的字符串");
示例:
<!DOCTYPE html>
<html>
<head>
<title>exec()方法的使用</title>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
var re1=/\d[a-zA-Z]/; //匹配两位一个数字和一个忽略大小写的字母
var res1=re1.exec('aa2edj3djie7788');
var res2=re1.exec('458949468974484');
</script>
</body>
</html>
我们断点来看var res1=re1.exec('aa2edj3djie7788');执行结果
匹配字符串'aa2edj3djie7788'结果断点.png
我们再断点看var res2=re1.exec('458949468974484');执行结果
匹配字符串'458949468974484'结果断点.png
总上所知,我们使用exec()方法得到的结果有两个,一个是存有匹配字符串的数组,一个是null
二、RegExp对象和执行exec()得到的结果分析
需要划下重点
1)首先RegExp对象
只需要关系此对象的一个属性,lastIndex ,这个属性的值代表了 检索字符串 开始匹配的起始索引,依旧上代码和断点
<!DOCTYPE html>
<html>
<head>
<title>exec()方法的使用</title>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
var re1=/\d[a-zA-Z]/; //匹配两位一个数字和一个忽略大小写的字母
var res1=re1.exec('aa2edj3djie7788');
</script>
</body>
</html>
我们来看断点中的RegExp对象,在调用exec()方法前
调用exec()方法前RegEpx对象.png
我们看调用exec()方法后的断点
调用exec()方法后RegEpx对象.png
注意,这里在调用exec()方法前后,lastIndex值虽然没有改变,但是这个属性至关重要。
1)lastIndex代表了每次匹配要检索的字符串的开始匹配的起始索引位置
2)在 修饰符使用了 g 后,此属性是变的,因此对后面理解 g修饰符是非常关键的。
2)执行exec()的到的结果
这里我们只断点查看数组结果,null也没啥好看的好像。
下面看断点截图
执行exec()返回的数组.png
来看下数组对象每个属性:
var a=res1[0]; // 匹配到的字符串
var index=res1.index; //匹配到的字符串的第一个字符 在被检索字符串String中的位置
var input=res1.input; //被检索的字符串 string
var length=res1.length; //数组的长度
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。