Расширенные регулярные выражения

10.8.6 Расширенные регулярные выражения

Использование расширенных регулярных выражений часто требует предоставления специальной опции команде для их распознавания. Исторически существует команда с именем egrep, которая похожа на grep, но может понимать расширенные регулярные выражения. Теперь egrepкоманда устарела в пользу использования grepс -Eпараметром.

Следующие регулярные выражения считаются расширенными:

Характер

Значение

?

Соответствует предыдущему символу ноль или один раз, поэтому это необязательный символ.

+

Соответствует предыдущему символу, повторенному один или несколько раз

|

Чередование или как логический оператор «или»

Для совпадения coloследует ноль или один uсимвол, за которым следует rсимвол:

sysadmin@localhost:~/Documents$ grep -E 'colou?r' spelling.txt
American English: Do you consider gray to be a color or a shade?
British English: Do you consider grey to be a colour or a shade?

Чтобы соответствовать одному или нескольким eсимволам:

sysadmin@localhost:~/Documents$ grep -E 'e+' red.txt
red
reef
reeed
reed
reel
read                     

Чтобы соответствовать или grayили grey:

sysadmin@localhost:~/Documents$ grep -E 'gray|grey' spelling.txt
American English: Do you consider gray to be a color or a shade?
British English: Do you consider grey to be a colour or a shade?

Last updated