【问题标题】:How to properly create regex from string in Javascript? [duplicate]如何从 Javascript 中的字符串正确创建正则表达式? [复制]
【发布时间】:2017-05-29 08:16:13
【问题描述】:

我正在努力解决一个问题,但不明白为什么会发生这种情况。我有一个正则表达式,它存储在数据库中,用于验证它是从服务器获取的。

但是在客户端,当我尝试使用 new RegExp() 将我的正则表达式从字符串转换时,我遇到了一个问题。

我的代码new RegExp('\d'); 返回/d/,但应该/\d/,有人可以帮助我吗?我错过了什么?

我看了这个答案Javascript RegEx Not Working,但我不认为我的问题与现有问题重复。因为这里解释了如何从字符串转换为正则表达式,但在我的问题中新的正则表达式吃'\'符号,我不明白为什么以及应该做些什么来避免这种情况?

【问题讨论】:

  • 此问题与Javascript RegEx Not Working 重复。要了解为什么需要将斜杠加倍,请参阅我的 this 回答。简而言之,``内部字符串用于转义后面的字符。
  • 总之,\里面的字符串用来转义后面的字符。

标签: javascript regex


【解决方案1】:

反斜杠 () 应该在字符串文字中转义。以下内容对您有用。

console.log(new RegExp('\\d'))

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 2016-01-24
    相关资源
    最近更新 更多