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

时间:2013-11-19 13:53:27

标签: regex matlab variables

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

功能clear还有一个选项-regexp

  

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

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

还有

  

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

     

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

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

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

但由于上述情况略有不同,我们有一些方便的解决方案,我想知道是否还有一个简单的方法:

keep -regexp expr1 ... exprN

内置函数。

1 个答案:

答案 0 :(得分:5)

查看this进行逆正则表达式匹配。在这方面:

clear -regexp ^((?!expr1|expr2|...).)*$

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