我有一个非常特殊的问题。我搜索了圣谷歌,但没有找到可行的答案,可能我想做的是不可能的。 这是东西。
我想知道是否可以将代码嵌入到正则表达式中。
为什么? 当前,我具有此功能以便声明某些特定的字符串(解释为什么我需要这种方式声明的原因很复杂,稍后再进行操作):
let functionName = ()=> {
let regex = /\w[The String]*/g;
return stringify(regex);
};
因此,由于我有很多要声明和验证的“字符串”,所以我的梦想函数将是这样的:
let functionName= (theParam)=> {
let regex = /\w[theParam]*/g;
return stringify(regex);
};
我将写到“为什么在测试时必须在代码中使用正则表达式进行断言!?”在我的personal blog上。
好吧……如果这只是一个梦,那是不可能的,请告诉我。
答案 0 :(得分:1)
您可以将RegExp constructor用作@MoisesGonsales,并与escapeRegExp或lodash软件包中的lodash.escapeRegExp函数一起使用:
const escapeRegExp = require('lodash.escapeRegExp');
function buildFunctionNameRegExp (param) {
let escapedParam = escapeRegExp(param);
return new RegExp(`\\w${escapedParam}*`, 'g');
};