Require.context 正则表达式问题
Require.context regex issue
根据正则表达式获取文件的require.context函数。
我想将以表达式开头的内容添加到这些表达式中,以便只获取以 1-**.js
开头的文件。我该怎么做?
const folders = require.context("@/views", true, /^1-.*\.js$/, "lazy")
// 1-asd.js => true
// 2-asd.js => false
// 1-bsd.js => true
正则表达式引擎收到的路径如下所示:
引擎正则表达式获取的输入字符串包含文件夹和文件名部分。因此,为了确保只在文件名的开头匹配 1-
,您需要匹配到最后一个斜杠:
/^(?:.*\/)?1-[^\/]*\.js$/
或者,如果 /
始终出现在路径中,您可以将正则表达式缩短为
/^.*\/1-[^\/]*\.js$/
\/1-[^\/]*\.js$
详情:
^
- 字符串开头
(?:.*\/)?
- 任意零个或多个除换行符之外的字符的可选序列,然后 /
1-
- 1-
字符串
[^\/]*
- /
以外的零个或多个字符
\.js$
- .js
在字符串末尾。
根据正则表达式获取文件的require.context函数。
我想将以表达式开头的内容添加到这些表达式中,以便只获取以 1-**.js
开头的文件。我该怎么做?
const folders = require.context("@/views", true, /^1-.*\.js$/, "lazy")
// 1-asd.js => true
// 2-asd.js => false
// 1-bsd.js => true
正则表达式引擎收到的路径如下所示:
引擎正则表达式获取的输入字符串包含文件夹和文件名部分。因此,为了确保只在文件名的开头匹配 1-
,您需要匹配到最后一个斜杠:
/^(?:.*\/)?1-[^\/]*\.js$/
或者,如果 /
始终出现在路径中,您可以将正则表达式缩短为
/^.*\/1-[^\/]*\.js$/
\/1-[^\/]*\.js$
详情:
^
- 字符串开头(?:.*\/)?
- 任意零个或多个除换行符之外的字符的可选序列,然后/
1-
-1-
字符串[^\/]*
-/
以外的零个或多个字符
\.js$
-.js
在字符串末尾。