JavaScript 执行匹配
使用正则表达式的eXeC()方法,可以执行通用的匹配操作。其语法格式如下:
regexp.exec(string)
regexp表示正则表达式对象,参数string是要检索的字符串。返回一个数组,其中存放匹配的结果。如果未找到匹配结果,则返回null。
返回数组的第1个元素是与正则表达式相匹配的文本,第2个元素是与正则表达式的第1个子表达式相匹配的文本(如果有的话),第2个元素是与正则表达式的第2个子表达式相匹配的文本(如果有的 话),以此类推。
除了数组元素和丨ength属性外,exec()方法还会返回下面两个属性。
index:匹配文本的第1个字符的下标位置。
input:存储被检索的原型字符串,即参数string自身。
在全局模式下,exec()方法和String.match()方法返回的结果不同。当调用exec()方法时,会为正则表达式对象定义lastlndex属性,指定执行下一次匹配的起始位置,同时返回匹配数组,与非全局模式下的数组结构相同,而String.matCh()仅返回匹配文本组成的数组,没有附加信息。因此,在全局模式下获取完整的匹配信息只能使用execQ方法。
当exec()方法找到了与表达式相匹配的文本后,会重置lastlndex属性为匹配文本的最后一个字符下标位置加1,为下一次匹配设置起始位置。因此,通过反复调用execO方法可以遍历字符串,实现全局匹配操作,如果找不到匹配文本时,将返回null,并重置lastlndex属性为0。
点击加载更多评论>>