在浏览JavaScript时我遇到了.match,.test和.exec
有什么不同?
这是最快的
答案 0 :(得分:3)
首先,.exec()
和.test()
是正则表达式对象上的方法。 .match()
是字符串上的方法,并将正则表达式对象作为参数。
.test()
会返回布尔值。它不会返回实际匹配的内容。
.match()
和.exec()
相似。在字符串上调用.match()
并返回一组结果。在正则表达式上调用.exec()
并且可以多次调用以返回多个复杂匹配(当您需要与组进行多次匹配时)。
您可以看到一些示例,说明如何对.exec()
here on MDN进行多次连续调用。
如果你只是想知道它是否匹配,你可能会使用.test()
而且不需要确切知道匹配的内容。
如果您想知道哪些匹配并且符合您的需求,您可能会使用.match()
(例如,您不需要通过多次调用.exec()
来处理更复杂的事情)。