Correspondência de grupo Bash

0

Estou usando o bash 3.1.17 (1) -release e script abaixo. Não mostra a correspondência do grupo para entrada, ou seja, 4fwk2_dev 2fwk5_dev

echo $FWK
FWK_REGEX="/(\d{1,3})fwk(\d)_dev/"
if [[ $FWK =~ $FW_REGEX ]]; then
   echo ${BASH_REMATCH[0]}
fi

Resultado

4fwk2_dev 2fwk5_dev

Espero corresponder a 4 e também 2 se adicionar echo ${BASH_REMATCH[1]} . E se eu adicionar g (global) ao regex, então espero que ele processe os dois 4fwk2_dev e 2fwk5_dev .

    
por irom 16.03.2016 / 16:01

1 resposta

0

Isso parece funcionar:

echo $FWK
FWK_REGEX="([0-9]{1,3})fwk([0-9])_dev"
if [[ $FWK =~ $FWK_REGEX ]]; then
   echo ${BASH_REMATCH[0]}
fi

Substitui o regex e corrigi o erro de digitação no nome da variável.

No entanto, tenho Bash 4.3.42 (1), então YMMV.

    
por 16.03.2016 / 16:34