누락된 문자를 일치시키는 간단한 Bash 정규식(OS X)

누락된 문자를 일치시키는 간단한 Bash 정규식(OS X)

OS X 10.11의 bash에서 정규식을 일치시킵니다.

$ msg='[4]  the message'
$  [[ $msg =~ (.+)\t(.+) ]]
$ echo ${BASH_REMATCH[1]}
[4]
$ echo ${BASH_REMATCH[2]}
he message

the ']'와 of 't'사이에 $msg탭 문자가 있습니다 . ${BASH_REMATCH[1]}또는 둘 중 하나에 탭이 없습니다 ${BASH_REMATCH[2]}. 어디로 갔나요 't'?

답변1

't'는 두 하위 정규 표현식 사이에 있으며 \t테이블로 해석되지 않고 t. 양식은 입니다 $'\t'.

이 시도:

$ msg=$'[4]\tthe message'
$ [[ "$msg" =~ (.+)$'\t'(.+) ]]
$ echo ${BASH_REMATCH[1]}
[4]
$ echo ${BASH_REMATCH[2]}
the message

관련 정보