find string pattern in strings ( 'ab*d' in 'abcd')

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!

 채택된 답변

Elias Gule
Elias Gule 2016년 6월 2일

0 개 추천

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.

댓글 수: 2

Jannis Maq
Jannis Maq 2016년 6월 2일
Perfect, exactly what I was looking for! Thank you very much.
Jannis Maq
Jannis Maq 2016년 6월 2일
Ah, I was too fast. Is there a way to make ".*" not include all charakters? If there is a "n" or a "N" it shall not work. Do you also know how to solve this?

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Elias Gule
Elias Gule 2016년 6월 3일
편집: Elias Gule 2016년 6월 3일

0 개 추천

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".

댓글 수: 1

Thanks for your reply. Your presumption is right!
But the code doesn't work exactly how I want.
test='((\W*[a-mA-Mo-zO-Z0-9]*\W*)*)6';
regexp(test,'n6','match')
ans =
{} %%Expected answer
regexp(test,'6','match')
ans =
'6' %%Expected answer
regexp(test,'ABC6','match')
ans =
{} %%Not expected :(
But when I put the inputs this way
regexp('ABC6',test,'match')
ans =
'ABC6' %Expected answer
%%But then the problem is:
regexp('n6',test,'match')
ans =
'6' % Not expected, because of the 'n'

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 Characters and Strings에 대해 자세히 알아보기

제품

질문:

2016년 6월 2일

댓글:

2016년 6월 3일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by