【问题标题】:Regex run test on New regular expression正则表达式在新正则表达式上运行测试
【发布时间】:2022-06-15 21:59:05
【问题描述】:

我正在尝试对新的正则表达式使用测试方法:

 const arr = ["g", "e", "g"];
  const exp = new RegExp("/^g/");
  const filteredArr = arr.filter((item) => exp.test(item))

但是返回的数组是空的

当我直接在表达式上运行测试方法时:

const filteredArr = arr.filter((item) => /^g/.test(item))

我确实需要使用 new 关键字,因为我想使用动态值而不是“g”来运行测试。我该怎么做?

【问题讨论】:

标签: javascript regex


【解决方案1】:

不要在RegExp 对象的构造中加入斜线。这些只是正则表达式文字所必需的。

const arr = ["g", "e", "g"];
const exp = new RegExp("^g");
const filteredArr = arr.filter((item) => exp.test(item));
console.log(filteredArr);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-12-29
    相关资源
    最近更新 更多