为了在 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>)
如果我\.
从正则表达式的末尾删除它,它就会编译,但这是必需的,正常的,根本没有修改。
我不明白与命名捕获组替换的关系。
所以我的问题很简单:这个正则表达式有什么问题?