5.3. Find Similar Words
Problem
You have several problems in this case:
You want to find all occurrences of both
color
andcolour
in 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 ...
Get Regular Expressions Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.