我一直在使用我在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'结尾”?
答案 0 :(得分:0)
我想知道谁可以找到添加异常的变量,例如“排除以'_RMS'结尾的变量”。
'signal(?!_RMS)'
模式会找到所有signal
子字符串,而不是立即,后跟_RMS
。要确保字符串不会结束 _RMS
,您需要在signal
和_RMS
之间允许任意0个字符并使用{{1} }(字符串结尾)锚。
$
请参阅regex demo。