【问题标题】:Matching the string "/$" in a RegExp constructor [duplicate]在 RegExp 构造函数中匹配字符串“/$”[重复]
【发布时间】:2016-11-21 20:34:18
【问题描述】:

我正在尝试使用RegExp 构造函数匹配短语“/$”,但转义似乎无济于事。是不是少了什么?

RegExp("\/\$").test("/$")
// false
RegExp("/$").test("/$")
// false
RegExp("\/$").test("/$")
// false
RegExp("/\$").test("/$")
// false

【问题讨论】:

  • RegExp("\\$").test("$")
  • RegExp("\\/\\$").test("/$")

标签: javascript regex


【解决方案1】:

您需要使用\\ 而不是\,并且无需转义/ 或直接使用正则表达式/\/\$/。更多信息请查看RegExp documentation

当使用构造函数时,正常的字符串转义规则(包含在字符串中的特殊字符前面带有 \)是必需的。

例如,/\w+/ 等价于 new RegExp('\\w+')

console.log(
  RegExp("/\\$").test("/$")
)

//or

console.log(
  /\/\$/.test("/$")
)

参考:Javascript regular expression - string to RegEx object

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-17
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 2018-11-13
    • 2011-10-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多