我需要一个regexp来过滤一个路径列表。
我的示例列表如下。
models/user.js
models/adapter.js
models/acquire.js
models/schema/extension.js
models/schema/permission.js
modules/breaktime/models/break.js
modules/breaktime/models/rule.js
modules/breaktime/models/step.js
modules/pbxmanager/models/group.js
modules/pbxmanager/models/member.js
modules/pbxmanager/models/shift.js
modules/breaktime/models/request.js
modules/breaktime/models/state.js
我定义了确切的起始路径,并且希望只获取该路径下的文件,而不是子文件夹的文件。
例如,如果我设置 models/
作为regexp中的起始字符串,我应该只得到前3行,而不是schema文件夹下的那些。
我试着做了像(^start string)(exactly nothing)(end string$)这样的组,但是没有成功。
(^models\/)[\w{0}](\/[\w]+\.js$)
我找不到如何在regexp中设置 "两组之间没有任何东西"。
如果你使用一个字符类 [\w{0}]
至少要有一个字符,要么是一个单词字符。{
, 0
或 }
在你的情况下,你不希望这样,你可以省略它的字符类,这将给你的是 (^models\/)(\/[\w]+\.js$)
其中有一个向前的斜线太多。
如果你把多余的 /
并去掉不必要的组和括号,你将得到的是
^models\/\w+\.js$