![정규식 그룹을 캡처할 수 없나요? [복사]](https://linux55.com/image/137189/%EC%A0%95%EA%B7%9C%EC%8B%9D%20%EA%B7%B8%EB%A3%B9%EC%9D%84%20%EC%BA%A1%EC%B2%98%ED%95%A0%20%EC%88%98%20%EC%97%86%EB%82%98%EC%9A%94%3F%20%5B%EB%B3%B5%EC%82%AC%5D.png)
"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:]]+)$'