find string pattern in strings ( 'ab*d' in 'abcd')
12 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Elias Gule
2016-6-2
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.
更多回答(1 个)
Elias Gule
2016-6-3
编辑:Elias Gule
2016-6-3
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".
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Characters and Strings 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!