정규식 그룹을 캡처할 수 없나요? [복사]

정규식 그룹을 캡처할 수 없나요? [복사]

"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:]]+)$'

관련 정보