Расширенные регулярные выражения
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