我想清除工作区中的所有变量,但是正则表达式定义了一些例外。
功能clear
还有一个选项-regexp
clear -regexp expr1 ... exprN
清除所有与之匹配的变量 列出的正则表达式。此选项仅清除变量。
所以我正在寻找相反的结果。
还有
clearvars -regexp p1 p2 ...
清除所有与常规匹配的变量 表达模式p1,p2等。
clearvars -except v1 v2 ...
清除除-except后指定的变量以外的所有变量 标志。
对于完整的变量名称已经相当不错了,但是对于像第一个选项那样的regexp不起作用。
FEX上有解决方案,但我不想使用其他自定义功能。
但由于上述情况略有不同,我们有一些方便的解决方案,我想知道是否还有一个简单的方法:
keep -regexp expr1 ... exprN
内置函数。
答案 0 :(得分:5)
查看this进行逆正则表达式匹配。在这方面:
clear -regexp ^((?!expr1|expr2|...).)*$
clearvars
不是内置的,而是一个m函数,它有自己的缺点。使用反向正则表达式匹配,您可以使用clear
(内置)执行所有操作。