Hi there,
I'm looking for a regular expression that checks whether a string contains 2 specific words. e.g. whether the string contains rooster or hen.
Thanks in advance!
Hi there,
I'm looking for a regular expression that checks whether a string contains 2 specific words. e.g. whether the string contains rooster or hen.
Thanks in advance!
You didn't mention what engine/language you're using, but in general, the regular expression would be (rooster|hen)
. |
is the alternation operator.
The expresssion to match roster
or hen
as a complete word (i.e. not when they are part of a longer, different word):
\b(roster|hen)\b
This is a safety measure to avoid false positives with partial matches.
The \b
denotes a word boundary, which is the (zero-width) spot between a character in the range of "word characters" ([A-Za-z0-9_]
) and any other character. In effect the above would:
"A chicken is either a roster or a hen."
"Chickens are either a rosters or hens."
- but (roster|hen)
wouldAs a side note, to allow the plural, this would do: \b(rosters?|hens?)\b