MATLAB正则表达式跳过,如果是单词的一部分

时间:2012-12-13 20:53:54

标签: regex matlab

给出以下示例:

str = 'deriv*dot(N,iv)';
expr = 'iv';
idx = regexp(str,expr);

这会返回idx为4和13.我如何才能找到不属于单词的'iv'?

我尝试使用Lookr Operators for expr,但无法得到我想要的结果。谢谢您的帮助。

1 个答案:

答案 0 :(得分:6)

It seems like Matlab has it's own word boundary escape sequence.

expr = '\<iv\>';

将单词定义为由字母,数字和下划线组成的任何单词。如果你想要自己的定义(即只有字母),那么你需要看一下:

expr = '(?<![a-zA-Z])expr(?![a-zA-Z])';