可以在Regex中嵌入代码吗?

时间:2018-10-16 18:47:27

标签: javascript regex function e2e-testing testcafe

我有一个非常特殊的问题。我搜索了圣谷歌,但没有找到可行的答案,可能我想做的是不可能的。 这是东西。

我想知道是否可以将代码嵌入到正则表达式中。

为什么? 当前,我具有此功能以便声明某些特定的字符串(解释为什么我需要这种方式声明的原因很复杂,稍后再进行操作):

let functionName = ()=> {
  let regex = /\w[The String]*/g;
  return stringify(regex);
};

因此,由于我有很多要声明和验证的“字符串”,所以我的梦想函数将是这样的:

let functionName= (theParam)=> {
  let regex = /\w[theParam]*/g;
  return stringify(regex);
};

我将写到“为什么在测试时必须在代码中使用正则表达式进行断言!?”在我的personal blog上。

好吧……如果这只是一个梦,那是不可能的,请告诉我。

1 个答案:

答案 0 :(得分:1)

您可以将RegExp constructor用作@MoisesGonsales,并与escapeRegExplodash软件包中的lodash.escapeRegExp函数一起使用:

const escapeRegExp = require('lodash.escapeRegExp');


function buildFunctionNameRegExp (param) {
    let escapedParam = escapeRegExp(param);

    return new RegExp(`\\w${escapedParam}*`, 'g');
};