如果我在MATLAB中有以下字符串:
str = '/* This is a comment */ int x; /* sectionEndExample */';
如何找到包含给定字符串的注释。在此示例中,字符串为'sectionEndExample'。
expr = ['^.*/\*.*sectionEndExample.*\*/'];
sectionEndIdx1 = regexp(str, expr);
但是这总是将sectionEndIdx1返回为1,这意味着它首先匹配它 '/ ' 而我希望它与最后一个匹配 '/ '。
我正在查看文档,到目前为止已经使用了lookAround选项。但是,我无法想出在MATLAB中做到这一点的方法:(
答案 0 :(得分:1)
我不确定你的问题是什么,但你可以编辑regexp
函数来准确返回单元格数组中匹配的内容。然后使用此单元格数组,只需选择它的最后一个索引,这将是最后一个匹配。
sectionEndIdx1 = regexp(str, expr,'match');
但是,这将返回您提供的整个字符串作为匹配项,因为根据您给出正则表达式的条件,它将匹配整个字符串。
如果这不是所需的结果,则需要修改正则表达式字符串。
我建议使用像regexpal这样的网站来测试正则表达式,然后再将它们插入MATLAB
。