find string pattern in strings ( 'ab*d' in 'abcd')
12 views (last 30 days)
Show older comments
Hello,
I want to check if there is a string pattern within a string. The pattern may look like this: 'ab*d', where * could be one or more charakters or none. So if the pattern would be 'abQWEd' or 'abd' I still want to have a positive feedback. Do you know how to do this?
Thanks!
0 Comments
Accepted Answer
Elias Gule
on 2 Jun 2016
try this:
pattern = 'ab.*d'; %%Pattern to match
textstr = 'sqthabVUYd'; %%Input string
match = regexp(textstr,pattern,'match');
this will match 'abVUYd' in the input string.
More Answers (1)
Elias Gule
on 3 Jun 2016
Edited: Elias Gule
on 3 Jun 2016
I presume that you want it to work for all patterns 'ab.*d' that don't contain the letter "n" or "N", such that "abCDnMMd" does not produce a valid match while "abCDMMdn" does. If that's the case then, try this pattern:
pattern = 'ab((\W*[a-mA-Mo-zO-Z0-9]*\W*)*)d'; %%Pattern to match
*Note:
\W* => zero or more non-word characters
[a-mA-Mo-zO-Z]* => a group of zero or more upper or lowercase letters of the alphabet excluding "n" or "N".
See Also
Categories
Find more on Characters and Strings in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!