如何否定 ZSH 正则表达式运算符?
我想做这样的事:
if [[ $host !~ '^myhost[0-9]+$' ]]
then
# Do stuff
# ...
fi
...或者:
if [[ !($host =~ '^myhost[0-9]+$') ]]
then
# Do stuff
# ...
fi
...但 ZSH 似乎没有实现任何类型的正则表达式否定运算符。有没有比这更简单的方法:
if [[ $host =~ '^myhost[0-9]+$' ]]
then
else
# Do stuff
# ...
fi
谢谢!
答案1
对整个测试进行否定是最简单的。主要是因为它容易记住,并且不依赖于任何特定的条件语法:
if ! [[ $host =~ '^myhost[0-9]+$' ]]
then
# Do stuff
# ...
fi