我想清除工作空间中的所有变量,但是正则表达式定义了一些例外.
函数clear有一个额外的选项-regexp
clear -regexp expr1 ... exprNclears all variables that match any of
the regular expressions listed. This option only clears variables.
所以我正在寻找相反的结果.
还有
clearvars -regexp p1 p2 ...clears all variables that match regular
expression patterns p1,p2,and so on.
clearvars -except v1 v2 ...
clears all variables except for those specified following the -except
flag.
对于完整的变量名称来说这已经相当不错了,但是像第一个选项一样不能用于regexp.
FEX上有解决方案,但我不想使用其他自定义功能.
但是,对于上面略有不同的情况,有这样的方便解决方案,我想知道是否还有一个简单的方法:
keep -regexp expr1 … exprN
具有内置功能.
看一下
this的逆正则表达式匹配.在这方面:
clear -regexp ^((?!expr1|expr2|...).)*$
clearvars不是内置的,而是一个m函数,它有自己的缺点.使用反向正则表达式匹配,您可以使用clear(内置)完成所有操作.