如何否定 ZSH 正则表达式测试?

Ste*_*hen 12 zsh regex

如何否定 ZSH 正则表达式运算符?

我想做类似的事情:

if [[ $host !~ '^myhost[0-9]+$' ]]
then
    # Do stuff
    # ...
fi
Run Code Online (Sandbox Code Playgroud)

...或者:

if [[ !($host =~ '^myhost[0-9]+$') ]]
then
    # Do stuff
    # ...
fi
Run Code Online (Sandbox Code Playgroud)

...但看起来 ZSH 没有实现任何类型的正则表达式否定运算符。有没有比这更简单的方法:

if [[ $host =~ '^myhost[0-9]+$' ]]
then
else
    # Do stuff
    # ...
fi
Run Code Online (Sandbox Code Playgroud)

谢谢!

slh*_*hck 16

整个测试的否定将是最简单的。主要是因为它很容易记住并且不依赖于任何特定的条件语法:

if ! [[ $host =~ '^myhost[0-9]+$' ]]
then
    # Do stuff
    # ...
fi
Run Code Online (Sandbox Code Playgroud)