簡體   English   中英

正則表達式不等於運算符?

[英]Regex not equal operator?

如果 NAMESPACE 變量為空或 VERSION 變量與正確的模式不匹配,我正在嘗試返回 function。

# return usage if namespace is blank or version doesn't match the version format.
if [[ "$NAMESPACE" == "" || "$VERSION" =~ ^([0-9]\.([1-9]|[1-9][0-9])\.[0-9])$ ]];
    then
        usage
fi

目前我正在使用=~如果模式是 x.xx.x 或 xxx 則返回 true 但我很難找到運算符的不相等(類似於!=~

您可以在||之后否定對於(A OR NOT B)

if [[ "$NAMESPACE" == "" || ! "$VERSION" =~ ^([0-9]\.([1-9]|[1-9][0-9])\.[0-9])$ ]];
    then
        usage
fi

請注意,您需要在! .

或者,您可以將(A OR NOT B)反轉為NOT (NOT A AND B)

if ! [[ "$NAMESPACE" != "" && "$VERSION" =~ ^([0-9]\.([1-9]|[1-9][0-9])\.[0-9])$ ]];
    then
        usage
fi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM