正規表現グループをキャプチャできませんか? [コピー]

正規表現グループをキャプチャできませんか? [コピー]

"pingnet"の最後の数字をキャプチャしようとしましたが、一致するものが見つからない次のBashスクリプトがあります。私の正規表現が正しいことをregex101で確認しました。

pingnet="pingcount,site=DC,cur=200 total-up=988"
regex='(\d+)$'
if [[ $pingnet =~ $regex ]]
then
    echo "YES"
    echo "${BASH_REMATCH[1]}"
else
    echo "NOT"
    echo "${BASH_REMATCH[1]}"
fi

スクリプトの実行結果はそうではありません。

ベストアンサー1

Bashの正規表現構文は認識されません\d[[:digit:]]

pingnet="pingcount,site=DC,cur=200 total-up=988"
regex='([[:digit:]]+)$'

おすすめ記事