gpt4 book ai didi

javascript - 无效的 Unicode 转义\。使用命名捕获组时

转载 作者:行者123 更新时间:2023-11-29 22:51:47 27 4
gpt4 key购买 nike

为了在 JavaScript 上使用命名捕获组,我做了以下修改:

diff --git a/assets/js/vue.js b/assets/js/vue.js
index f442939c9..6d9e707f0 100644
--- a/assets/js/vue.js
+++ b/assets/js/vue.js
@@ -44,7 +44,7 @@ Vue.config.silent = config.production;
requireComponent.keys().forEach(fileName => {
const
componentConfig = requireComponent(fileName),
- componentName = fileName.replace(/^(.*\/)?(.*)\.\w+$/u, '$2');
+ componentName = fileName.replace(/^(?<folder>.*\/)?(?<subfolder>.*)\.\w+$/u, '$<subfolder>');

Vue.component(
componentName,

但它不再编译(使用 webpack):

 error  in ./assets/js/vue.js

Syntax Error: SyntaxError: invalid Unicode escape \.
at Array.forEach (<anonymous>)

如果我从正则表达式的末尾删除 \.,它会编译,但这是必需的,正常的,根本没有修改。

我不明白与命名捕获组替换的关系。

所以我的问题很简单:这个正则表达式有什么问题?

最佳答案

使用 [] 语法修复编译错误,它将检查内部给定的字符,而不是使用 unicode 转义。

下面的正则表达式应该可以工作。

/^(?<folder>.*\/)?(?<subfolder>.*)[.]\w+$/u

但正如 Tyler Roper 所说,我认为这是一个 Webpack/Babel 编译错误,给定的正则表达式应该可以工作。

关于javascript - 无效的 Unicode 转义\。使用命名捕获组时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57359052/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com