JS正则中exec与match的区别是:1、匹配多个结果不同;2、返回结果格式不同;3、正则表达式的使用不同;4、循环匹配不同;5、String对象的使用不同。exec()方法会匹配并返回所有满足正则表达式条件的结果,而match()方法只会返回名列前茅个满足条件的结果。
一、JS正则中exec与match的区别
1、匹配多个结果不同
exec()方法会匹配并返回所有满足正则表达式条件的结果,而match()方法只会返回名列前茅个满足条件的结果。如果需要匹配多个结果,需要多次调用match()方法,或者使用exec()方法。
2、返回结果格式不同
exec()方法返回的结果是一个数组,数组中的元素包含匹配到的字符串及其相关信息,例如匹配到的字符串、匹配到的位置等。而match()方法只返回匹配到的字符串,不返回相关信息。
3、正则表达式的使用不同
在使用exec()方法时,需要在正则表达式中设置全局匹配标志(g),否则每次调用exec()方法只会返回名列前茅个匹配结果。而match()方法则不需要设置全局匹配标志。
4、循环匹配不同
由于exec()方法会返回所有匹配到的结果,因此可以通过循环来遍历所有匹配结果。而match()方法则只返回名列前茅个匹配结果,需要多次调用match()方法才能匹配到所有结果。
5、String对象的使用不同
match()方法是String对象的一个方法,可以直接在字符串上调用,而exec()方法则是RegExp对象的一个方法,需要在正则表达式上调用。