【问题标题】:Javascript - Is test() and match() in javascript same? [duplicate]Javascript - javascript 中的 test() 和 match() 是否相同? [复制]
【发布时间】:2016-10-26 17:31:06
【问题描述】:

test() 和 match() 有区别吗?

我知道两者都用于在字符串中搜索匹配项。 我的问题是我们可以在代码中互换使用两者吗?

提前致谢。

【问题讨论】:

  • 不。这些是不同的
  • 我们可以在代码中互换使用吗? 可以,因为nullfalse 都是假值。 ,如果您将结果与 falsenull 进行比较。检查字符串中是否存在模式使用test()。获取pattern匹配的字符串,使用match()
  • test() 返回布尔值,match() 返回 null 或数组。如果不需要匹配结果,test() 会更快。
  • 您能解释一下我们什么时候使用这些(如真实案例场景)吗?

标签: javascript


【解决方案1】:

是的。 .test() 用于 RegExp.match 用于 字符串

.match()

match() 方法在将字符串与正则表达式匹配时检索匹配项。 语法str.match(regexp)

.test()

test() 方法执行搜索正则表达式和指定字符串之间的匹配。返回真或假。 语法regexObj.test(str)

有关此问题的更详细说明,请参阅此 SO 答案:https://stackoverflow.com/a/10940138/3878940

MDN:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/test, https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/match

【讨论】:

    【解决方案2】:

    这个问题已经讨论过了。请参考以下链接。希望对你有帮助。

    regex.test V.S. string.match to know if a string matches a regular expression

    谢谢!

    【讨论】:

      【解决方案3】:

      .test() - 返回一个布尔值是否匹配。它永远不会返回实际匹配的内容。 .match() - 是一个字符串方法并返回一组结果。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-04-03
        • 2016-03-25
        • 2011-12-22
        • 2011-10-21
        • 2018-12-23
        • 2012-05-08
        • 2011-04-28
        • 1970-01-01
        相关资源
        最近更新 更多