Mistake in documentation for regexp?
Show older comments
Even after using MATLAB for 20 years, I still need to look at the doc for this function from time to time. This time I noticed something that I missed over the years. I believe this has been in there since at least ver 7.
The first example under the documentation for regexp is shown below, with highlighting added. However, the expression given does not perform to the specification. For example, compare the highlighted specs with the results from using this string:
str = 'bat cat can car coat court CUT ct CAT-scan haircuts';
Of course regexp found the 'cut' in haircuts, which is a word that neither starts with a 'c' nor ends with a 't'. Maybe it's pedantic, maybe not. Perhaps it's just worded in such a way that it may lead someone astray. In any case, take this as an FYI and maybe an invitation to update the wording of this example.

1 Comment
dpb
on 12 Mar 2026 at 20:18
Yeah, agree, the use of "word" instead of "string" or "substring" is an incorrect description of the problem solved.
There are two choices; fix the doc to match the actual search or add the additional condition to the search that the 'c' and 't' must be the first and last letters in a word (preceded/followed by whitespace, respectively).
Answers (1)
The description is wrong; the pattern used is looking for substrings, not "words".
str = 'bat cat can car coat court CUT ct CAT-scan haircuts';
expression1 = 'c[aeiou]+t';
expression2 = '\<c[aeiou]+t\>'
startIndex1 = regexp(str, expression1)
startIndex2 = regexp(str, expression2)
1 Comment
dpb
32 minutes ago
I think the ideal fix would be to show both examples...
Categories
Find more on Characters and Strings in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!