Regular Expression to Match a Word or Its Prefix

I want to match a regular expression on a whole word.

In the following example I am trying to match s or season but what I have matches s, e, a, o and n.

[s|season]

How do I make a regular expression to match a whole word?

1

4 Answers

Square brackets are meant for character class, and you're actually trying to match any one of: s, |, s (again), e, a, s (again), o and n.

Use parentheses instead for grouping:

(s|season)

or non-capturing group:

(?:s|season)

Note: Non-capture groups tell the engine that it doesn't need to store the match, while the other one (capturing group does). For small stuff, either works, for 'heavy duty' stuff, you might want to see first if you need the match or not. If you don't, better use the non-capture group to allocate more memory for calculation instead of storing something you will never need to use.

3

Use this live online example to test your pattern:

Above screenshot taken from this live example:

Marcus Vance

Marcus Vance

Cybersecurity & Digital Privacy Researcher

Marcus Vance is a cybersecurity auditor and technology writer dedicated to educating the public about online safety, data privacy regulations, enterprise security, and emerging cyber threats.