1、基本用法
match:str.match(reg)
exec:reg.exec(str)
2、比较
匹配不到返回null
reg不是全局搜索,两者的返回结果是一样的数组。 [‘匹配到的结果‘,‘提取的内容1‘,...,‘提取的内容n‘]
reg全局搜索: match返回数组 [‘匹配到的结果1‘,...,‘匹配到的结果n‘]
exec返回的结果不受影响。 [‘匹配到的结果‘,‘提取的内容1‘,...,‘提取的内容n‘],但多次执行时匹配结果的index会改变
3、举例
var reg1 = /(a)+(\d)+/, // 至少一个a带至少1个数字,并提取 reg2 = /(a)+(\d)+/g, str = "afeasfa32fefb32a567"; reg1.exec(str) // ["a32", "a", "2"] str.match(reg1) // ["a32", "a", "2"] ,str.match(reg1,callback) reg2.exec(str) // ["a32", "a", "2"] reg2.exec(str) // ["aaaa567", "a", "7"] reg2.exec(str) // null
str.match(reg2) // ["a32","aaaa567"]
// /(a)|(\d)+/.exec("fesf32fefb32567") ["32",undefined,"2"]// "fesf32fefb32567".match(/(a)|(\d)+/) ["32",undefined,"2"]
时间: 2024-11-05 22:03:42