使用部分字符串匹配添加表达式在Workspace中查找变量

时间:2017-01-27 10:38:57

标签: regex matlab

我一直在使用我在who中找到的函数this SO answer来查找工作区中与字符串匹配的变量。

我一直在努力尝试:

who('-regexp', 'signal');

这将返回包含字符串'signal'的变量列表,例如:

'signal'
'signal1'
'signal_RMS'
'signal1_RMS'

但我想知道如何找到添加异常的变量,例如“排除以'_RMS'结尾的变量”。

我试着在Matlab文档(regexp)中找到包含正则表达式,没有运气,我发现的更接近的事情是这样的:

who('-regexp', 'signal(?!_RMS)');

但这只会排除紧跟“_RMS”,

的变量“信号”
'signal'
'signal1'
'signal1_RMS'

有关如何处理表达式以查找变量的提示,例如“以'开头'字符串',不要以'otherstring'结尾”?

1 个答案:

答案 0 :(得分:0)

  

我想知道谁可以找到添加异常的变量,例如“排除以'_RMS'结尾的变量”。

'signal(?!_RMS)'模式会找到所有signal子字符串,而不是立即,后跟_RMS。要确保字符串不会结束 _RMS,您需要在signal_RMS之间允许任意0个字符并使用{{1} }(字符串结尾)锚。

$

请参阅regex demo