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