Почему git -log с perl regex отрицательно смотрит назад и приводит к фатальной ошибке? - PullRequest
0 голосов
/ 06 января 2020

Либо я не могу получить функцию регулярного выражения git -log для поиска с использованием регулярного выражения perl (pcre), либо я могу, но он не работает с отрицательным внешним видом.

git log -p -P -G'(?<!-)title'

приводит к выводу

fatal: invalid regex: Invalid preceding regular expression

Тем не менее, поддержка pcre и отрицательный внешний вид, похоже, работают, если git -grep - какой-либо индикатор. Например, git grep -P '(?<!-)title' возвращает ожидаемые результаты.

git версия 2.21.0 (Apple Git -122.2)

1 Ответ

1 голос
/ 06 января 2020

-P не влияет на -G. Вы можете проверить это, заменив -P на -F (или --fixed-string): вы все равно получите ту же ошибку, даже если в фиксированных строках вообще нет проверки.

Документация из -P говорит

Рассмотрим ограничивающие шаблоны как Perl -совместимые регулярные выражения.

Обратите внимание на слово "шаблоны". В самом деле, опции --grep упоминают это:

- grep =

С другой стороны, -G не:

-G

...