【问题标题】:regular expression javascript with RegExp正则表达式 javascript 与 RegExp
【发布时间】:2019-01-05 19:56:00
【问题描述】:

我在RegExp in javascript阅读

我看到了两种创建新 RegExp 的方法:/ab+c/i; new RegExp('ab+c', 'i'); new RegExp(/ab+c/, 'i');

但我想像这样创建新的 RegExp:

var re = new RegExp(`\d+${variable}`, 'g');

我尝试了,但它不起作用。我该怎么做?

【问题讨论】:

  • 请留下变量中的样本。

标签: javascript regex regular-language


【解决方案1】:

使用\\ 转义template literal 中的RegExp character class,例如逃跑:

  • \d,写\\d
  • \w,写\\w
  • \s,写\\s

...等等。

let variable = 1;
const re = new RegExp(`\\d+${variable}`, 'g');

console.log(re);

More on RegeExp

【讨论】:

    【解决方案2】:

    您可以将整个表达式写成一个字符串(您可以将变量的值连接到该字符串),然后使用eval() 将其更改为一个有效的 javascript 表达式:

    var x = "A";
    var re = eval("new RegExp('\d+$" + x + "', 'g')");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-02
      • 1970-01-01
      • 2017-09-27
      • 1970-01-01
      相关资源
      最近更新 更多