В соответствии с grep --help
и man grep
, мы можем использовать эту -P
опцию, чтобы интерпретировать шаблон как регулярное выражение Perl (если быть точным, PCRE) вместо базовых регулярных выражений POSIX по умолчанию (BRE).
На языке Perl различные модификаторы могут быть добавлены к выражению, чтобы настроить интерпретацию шаблона (в синтаксисе /pattern/modifiers
).
Итак, как можно добавить модификаторы в регулярное выражение Perl grep? Я пробовал некоторые варианты, grep -P "/^got.it$/ms" [FILE]
но результаты поиска были неправильными.
Тем не менее, в отношении интерпретации PCRE, руководство указывает, что:
Это очень экспериментально, и grep -P может предупредить о невыполненных функциях.
Возможно ли, что инструмент grep вообще не поддерживает модификаторы ?
Кстати, я заметил, что можно сопоставлять шаблоны без учета регистра, используя -i
опцию, которая является примером модификатора.
Ответы:
Для модификаторов
imsxadlup
вы можете использовать(?X)
for, как описано в Extended Patterns :источник