Sublime Text 3 - 使用正则表达式在多个文件夹中搜索一个文件夹中的文件
Sublime Text 3 - Search multiple folders with regex for files in one folder
我想搜索 /app/libraries
和 /app/views
文件夹中的所有文件,但我只想搜索 [=] 中以 App
开头的文件15=]文件夹。
如果我使用 /app/libraries, /app/views, /app/models/App*
它会给我:
/app/models/App*:
ERROR: Unable to open file
0 matches
如果我使用 /app/libraries, /app/views, /app/models, App*
,它只会给我 所有 文件夹中以 App
开头的文件。
我已经尝试按照 this answer 的建议去掉前导斜杠 /app/libraries, /app/views, app/models/App*
,但我明白了:
Searching 0 files for "search string" (regex, case sensitive)
0 matches
这里的重点是您一直在使用 wildcard 模式,而您需要 regex 模式。
要匹配通配符模式中任意数量的任意字符,使用星号,但在正则表达式模式中,您可以使用 .*
(除换行符以外的任何 0+ 个字符)或 - 如果您只需要将 App
作为文件名的一部分进行匹配(因此,不再允许使用 /
)- 您可以使用 [^/]*
(/
以外的零个或多个字符.
所以,使用其中之一
/app/models/App.*
或
/app/models/App[^/]*
我想搜索 /app/libraries
和 /app/views
文件夹中的所有文件,但我只想搜索 [=] 中以 App
开头的文件15=]文件夹。
如果我使用 /app/libraries, /app/views, /app/models/App*
它会给我:
/app/models/App*:
ERROR: Unable to open file
0 matches
如果我使用 /app/libraries, /app/views, /app/models, App*
,它只会给我 所有 文件夹中以 App
开头的文件。
我已经尝试按照 this answer 的建议去掉前导斜杠 /app/libraries, /app/views, app/models/App*
,但我明白了:
Searching 0 files for "search string" (regex, case sensitive)
0 matches
这里的重点是您一直在使用 wildcard 模式,而您需要 regex 模式。
要匹配通配符模式中任意数量的任意字符,使用星号,但在正则表达式模式中,您可以使用 .*
(除换行符以外的任何 0+ 个字符)或 - 如果您只需要将 App
作为文件名的一部分进行匹配(因此,不再允许使用 /
)- 您可以使用 [^/]*
(/
以外的零个或多个字符.
所以,使用其中之一
/app/models/App.*
或
/app/models/App[^/]*