Как мы уже упоминали ранее, всегда хорошо быть конкретным, и это относится к программированию, разговорам и даже к регулярным выражениям. Например, вы бы не написали в списке покупок для человека Buy more .*
, потому что вы не знали бы, что он принесет в результате. Вместо этого вы напишете Buy more milk
или Buy more bread
, и в регулярных выражениях мы можем явно определить эти условия.
В частности, при использовании групп, мы можем использовать метасимвол |
(логическое ИЛИ) для обозначения нескольких возможных наборов символов. В примере, рассмотренном выше, мы можем написать шаблон Buy more (milk|bread|juice)
для соответствия строке Buy more milk
, Buy more bread
или Buy more juice
.
Как и в обычных группах, вы можете использовать любую последовательность символов или метасимволов в условии, например, шаблон ([cb]ats*|[dh]ogs?)
будет соответствовать либо cats
, либо bats
, либо dogs
, либо hogs
. Действительно, шаблоны со многими условиями иногда являются трудными для чтения, поэтому вы можете разбивать их на отдельные шаблоны, если они становятся слишком сложными.
В следующем задании попробуйте написать шаблон с условием для соответствия указанным строкам.
Задание | Текст | |
Соответствовать | I love cats | ![]() |
Соответствовать | I love dogs | ![]() |
Пропустить | I love logs | ![]() |
Пропустить | I love cogs | ![]() |
Решение | Используя логическое ИЛИ, мы можем соответствовать первым двум строкам, применив выражение I love (cats|dogs). |