javascript - 是否可以在正则表达式中嵌入代码?

标签 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上.

好吧...如果这只是一个梦想,并且这是不可能的,请告诉我。

最佳答案

您可以使用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');
};

关于javascript - 是否可以在正则表达式中嵌入代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52842113/

相关文章:

javascript - 如何在javascript中传递 anchor 文本innerHtml

regex - PowerShell -match 与 -like

arrays - 将数组传递给erlang中的函数

javascript - 如何使用reactjs生成nodejs Express应用程序

javascript/jquery 从 url 中删除相对路径

php - 正则表达式匹配每个字符和换行符

javascript - 如何等待异步函数完成

c++ - 跳转到 C++ 第 13 章实践问题 No4 - 指针

javascript - d3.js 轴中的科学记数法

php - 正则表达式在php中分隔单词数字和符号