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
ありがとうございます。
あなたは自分で答えを出しました。あなたの2番目の提案は正しいです、あなたは感嘆符の後に空白を逃しただけです:
—
mpy
if [[ ! ($host =~ '^myhost[0-9]+$') ]]
。
ありがとう、@ mpy!私はzsh(そして全てのシェル、AFAIK)がスペースに対して敏感であることを条件ステートメントで忘れていました。
—
Stephen
'^(?!myhost[0-9]+$).+$'
それはすべてに一致するはずですmyhost[0-9]+
。