저는 bash 3.1.17(1) 릴리스와 아래 스크립트를 사용하고 있습니다. 입력에 대한 그룹 일치(예: 4fwk2_dev 2fwk5_dev)는 표시되지 않습니다.
echo $FWK
FWK_REGEX="/(\d{1,3})fwk(\d)_dev/"
if [[ $FWK =~ $FW_REGEX ]]; then
echo ${BASH_REMATCH[0]}
fi
산출
4fwk2_dev 2fwk5_dev
4와 일치하고 싶고, 추가하면 2도 일치하게 됩니다 echo ${BASH_REMATCH[1]}
. g
정규식에 (global)을 추가 하면 4fwk2_dev
및 를 처리할 수 있기를 바랍니다 2fwk5_dev
.
답변1
이것은 작동하는 것 같습니다:
echo $FWK
FWK_REGEX="([0-9]{1,3})fwk([0-9])_dev"
if [[ $FWK =~ $FWK_REGEX ]]; then
echo ${BASH_REMATCH[0]}
fi
정규식을 바꾸고 변수 이름의 오타를 수정했습니다.
그러나 Bash 4.3.42(1)이 있으므로 YMMV입니다.