Я ищу регулярное выражение, которое проверяет, содержит ли строка 2 конкретных слова. например, содержит ли строка петуха или курицу.
Заранее спасибо!
Выражение для поиска петуха
или курицы
как полного слова (т.е. не когда они являются частью более длинного, другого слова):
\b(rooster|hen)\b
Это мера безопасности, чтобы избежать ложных срабатываний при частичном совпадении.
Символ \b
обозначает границу слова, которая представляет собой (нулевой ширины) участок между символом в диапазоне "символов слова" ([A-Za-z0-9_]
) и любым другим символом. По сути, вышеприведенное:
"Курица - это либо петух, либо курица."
"Куры - это либо петухи, либо куры."
- но (rooster|hen)
будетВ качестве примечания, чтобы разрешить множественное число, подойдет следующее: \b(петухи?|hen?)\b
Используйте |
для альтернатив. В вашем случае это: (rooster|hen)
Вы не упомянули, какой движок/язык вы используете, но в общем случае регулярное выражение будет (rooster|hen)
. |
- это оператор чередования.