首页 > 解决方案 > 在另一个中使用一个正则表达式的结果 - javascript

问题描述

我正在尝试使用 Javascript 中的正则表达式从 URL 中检索一些数据。

const url = "/node_modules/@company/dl-atoms-control/README.md";

下面的 RegEx 检索前面有字符串“dl-”的文本,在本例中为“atoms”:

const molecularTypePlural = url.match(/(?<=dl-)\w+/gm)[0];

我现在想在第二个 RegEx 中使用moleculesTypePlural 来检索以“dl-atoms-”开头的字符串,在本例中为“control”。我无法对此进行硬编码,因为moleculesTypePlural 变量将具有不同URL 的不同值。我尝试了以下方法:

const packageNameRegex = new RegExp(`/(?<=dl-${molecularTypePlural}-)\w+/gm`);
const packageName = nodePath.match(packageNameRegex);

但是,RegEx 不返回任何结果。记录 packageNameRegex 显示 RegEx 的格式似乎不正确:

"/\/(?<=dl-atoms-)w+\/gm/"

我认为转义特殊字符可能是个问题,但我不是 100% 确定。谁能告诉我哪里出错了。谢谢

标签: javascriptregex

解决方案


推荐阅读