ag: поиск во всех папках, за исключением folderName/subFolder (Perl Regex)
У меня есть эти папки, в которых есть подпапки...
locales/US/en
locales/US/fr
locales/FR/en
locales/FR/fr
locales/DE/en
locales/DE/fr
public
test
[...]
Я хочу, чтобы Серебряный Искатель игнорировал locales/*
КРОМЕ для locales/US/en/*
(по сути, я забочусь только о US/en
файлы локалей)
Это работает, за исключением того, что он не показывает другие папки в корне (public и test):ag -l -G '(locales)/(US)'
Я считаю, что AG использует Perl Regexes. Какие-нибудь мысли?
1 ответ
Если это регулярные выражения perl, это должно дать ожидаемый результат:
^(?:locales/US/en|(?!locales))
Объяснение:
^ = anchor regular expression to start of string.
(?: = group which is not captured
| = Alternation for alternative capture
(?! = negative look ahead assertion - ensures that the string isnt starting with locales, unless it is starting with locales/US/en