通过使用正则表达式清除工作空间中的变量和异常

the*_*alk 7 regex variables matlab

我想清除工作空间中的所有变量,但是正则表达式定义了一些例外.

该功能clear还有一个选项-regexp

clear -regexp expr1 ... exprN清除与列出的任何正则表达式匹配的所有变量.此选项仅清除变量.

所以我正在寻找相反的结果.

还有

clearvars -regexp p1 p2 ... 清除与正则表达式模式p1,p2等匹配的所有变量.

clearvars -except v1 v2 ... 清除除-except标志后指定的变量以外的所有变量.

对于完整的变量名称已经相当不错了,但是对于像第一个选项那样的regexp不起作用.

FEX上有解决方案,但我不想使用其他自定义功能.

但是,对于上面略有不同的情况,有这样的方便解决方案,我想知道是否还有一个简单的方法:

keep -regexp expr1 ... exprN

具有内置功能.

Rod*_*uis 5

看看这个逆正则表达式匹配.在这方面:

clear -regexp ^((?!expr1|expr2|...).)*$
Run Code Online (Sandbox Code Playgroud)

clearvars不是内置的,而是一个m函数,它有自己的缺点.使用反向正则表达式匹配,您可以使用clear(内置)完成所有操作.