注册
其实我可以理解乐天,毕竟韩国是它的国家,所以也请理解我们抵制乐天,因为中国也是我们的国家

JavaScript中正则表达式test()、exec()、match() 用法和区别

嗨豆壳技术文章 时间:2014-10-26 12:30:55 [ray]

JavaScript中经常用到正则表达式, JavaScript正则表达式函数有match()、test()和exec()这三个函数,其实还有split()。 但这里只说前3个函数,以代码实例来区分它们之间的不同。

函数语法
var rs_match = stringObj.match(regexp);
var rs_test = RegExpObj.test(string);
var rs_exec = RegExpObj.exec(string);
参数解析

stringObj是String对象,是要被搜索的字符串;RegExpObj对象表示正则表达式。

参数regexp是定义的RegExp对象实例,即正则表达式匹配模式;

返回的结果是一个包含搜索结果的数组,若不成功则返回null;

test()方法与exec()方法类似。match()方法参数不同,match()方法以RegExp对象实例为参数,而exec()方法以字符串为参数

如果正则表达式都没有设置全局标志(g),那么match()方法产生的结果与exec()方法产生的结果相同

如果正则表达式设置了全局标志(g),则match()方法返回的数组中包含所有完整的匹配结果,数组元素依次是每个完整的匹配结果,而exec()方法返回的结果数组是查询结果与各个子匹配的结果

var str = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
var regexp = /[D-G]/gi;
var rs = str.match(regexp);
// rs = Array("D", "E", "F", "G", "d", "e", "f", "g");

var rs = regexp.test(str);
// rs = true;

while((rs = regexp.exec(str)) != null){
    document.write(rs);
    document.write(regexp.lastIndex);
    document.write("<br />");
}

标签

本文地址:https://www.hi-docs.com/article/99.html

上一篇:如何使用正则表达式提取图片(img)的地址(src)?

下一篇:百度免费IP地址查询API,查询接口