javascript - 在另一个中使用一个正则表达式的结果 - 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% 确定。谁能告诉我哪里出错了。谢谢
解决方案
推荐阅读
- python - 如何使用 pathlib 循环多个路径
- swiftui - 如何使用 ScrollView 使图形居中 - 按像素滚动
- logging - Fluentd:有没有办法在单个匹配块中添加多个标签
- api - SAP B1 - 服务层本地可用性
- android - 资产的颤振颜色
- flutter - socket_io_client: ^1.0.1 Flutter Web 应用程序无法连接
- docker - 如何在 docker 容器中安装特定的 go 命令?
- pandas - 在 Pandas 中清理列 - 胡言乱语
- android - API 31 不推荐使用“VIBRATOR_SERVICE: String”
- c++ - 这两种 unordered_map 声明方式有什么区别?