5.3. Find Similar Words
Problem
You have several problems in this case:
You want to find all occurrences of both
colorandcolourin a string.You want to find any of three words that end with “at”:
bat,cat, orrat.You want to find any word ending with
phobia.You want to find common variations on the name “Steven”:
Steve,Steven, andStephen.You want to match any common form of the term “regular expression”.
Solution
Regular expressions to solve each of the problems just listed are shown in turn. All of these solutions are listed with the case insensitive option.
Color or colour
\bcolou?r\b
| Regex options: Case insensitive |
| Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby |
Bat, cat, or rat
\b[bcr]at\b
| Regex options: Case insensitive |
| Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby |
Words ending with “phobia”
\b\w*phobia\b
| Regex options: Case insensitive |
| Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby |
Steve, Steven, or Stephen
\bSte(?:ven?|phen)\b
| Regex options: Case insensitive |
| Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby |
Variations of “regular expression”
\breg(?:ular●expressions?|ex(?:ps?|e[sn])?)\b| Regex options: Case insensitive |
| Regex flavors: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby |
Discussion
Use word boundaries to match complete words
All five of these regular expressions use word boundaries
(‹\b›) to ensure that they match only complete words. The patterns use several different approaches to allow variation in the words that they ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access