【发布时间】:2016-02-10 06:11:29
【问题描述】:
在浏览 JavaScript 时,我遇到了 .match、.test 和 .exec
有什么不同?
这是最快的
【问题讨论】:
-
几乎是重复的:match Vs exec in JavaScript。 “这是最快的” 不确定这是一个正确的问题。使用哪种方法取决于您要达到的目标。它们都提供不同的结果。
标签: javascript
在浏览 JavaScript 时,我遇到了 .match、.test 和 .exec
有什么不同?
这是最快的
【问题讨论】:
标签: javascript
首先,.exec() 和 .test() 是正则表达式对象的方法。 .match() 是一个字符串方法,它接受一个正则表达式对象作为参数。
.test() 返回一个布尔值是否匹配。它不会返回实际匹配的内容。
.match() 和 .exec() 是相似的。在字符串上调用.match() 并返回一组结果。 .exec() 在正则表达式上调用,可以多次调用以返回多个复杂匹配项(当您需要与组进行多个匹配项时)。
您可以查看一些示例,了解如何使用多个连续调用 .exec() here on MDN。
如果您只想知道它是否匹配并且不需要确切知道匹配的内容,您可能会使用.test()。
如果您想知道匹配的内容并满足您的需求,您可能会使用 .match()(例如,您不需要通过多次调用 .exec() 来获得更复杂的内容)。
【讨论】: