一、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對象的一個方法,需要在正則表達式上調用。