Como nego um teste de expressão regular ZSH?

5

Como nego a operadora regex ZSH?

Eu gostaria de fazer algo como:

if [[ $host !~ '^myhost[0-9]+$' ]]
then
    # Do stuff
    # ...
fi

... ou:

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

... mas não parece que o ZSH implemente qualquer tipo de operador de negação regex. Existe uma maneira mais fácil do que isso:

if [[ $host =~ '^myhost[0-9]+$' ]]
then
else
    # Do stuff
    # ...
fi

Obrigado!

    
por Stephen 08.01.2014 / 16:57

1 resposta

8

Uma negação de todo o teste seria a mais fácil. Principalmente porque é fácil de lembrar e não depende de qualquer sintaxe de condição específica:

if ! [[ $host =~ '^myhost[0-9]+$' ]]
then
    # Do stuff
    # ...
fi
    
por 08.01.2014 / 17:44

Tags