How do I find the last occurrence of a match using regexp in MATLAB?
44 次查看(过去 30 天)
显示 更早的评论
If I have the following string in MATLAB:
str = '/* This is a comment */ int x; /* sectionEndExample */';
How do I find the last comment that contains sectionEndExample? I have tried the following:
expr = ['^.*/\*.*sectionEndExample.*\*/'];
sectionEndIdx1 = regexp(str, expr);
But this always returns the sectionEndIdx1 as 1. I am looking in the documentation and have so far played around with the lookAround options. However, I can't figure out a way to do it in MATLAB :(
3 个评论
采纳的回答
Azzi Abdelmalek
2013-8-16
str = '/* This is a comment */ int x; /* sectionEndExample */';
pattern='(/)\*[\w\s]+\*(/)';
[sectionEndIdx1,debut,fin] = regexp(str, pattern,'match','start','end');
sectionEndIdx1=sectionEndIdx1{end}
start_comment=debut(end)
end_comment=fin(end)
0 个评论
更多回答(3 个)
Azzi Abdelmalek
2013-8-15
str = '/* This is a comment */ int x; /* sectionEndExample */';
pattern='(?<=/\*)[\w\s]+(?=\*/)';
sectionEndIdx1 = regexp(str, pattern,'match');
sectionEndIdx1=sectionEndIdx1{end}
3 个评论
另请参阅
类别
在 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!