작성
·
666
1
마지막 예제에 나온 (..)_(..) 와 BASH_REMATCH 의 의미가 무엇인가요? 인터넷에서 BASH_REMATCH는 정규식으로 매칭되는 내용이라고 하는데, 이해가 잘 가지 않습니다.
답변 1
0
우하하님! 안녕하세요
admin👻 echo $LANG
en_US.UTF-8
admin👻
en 와 US 을 각각 추출하려고 할 때 사용된 방법입니다
??_?? <--- 추출하고자 하는 패턴 형태입니다
locale='(..)_(..)' <--- 좌측 2글자와 우측 2글자는 각각 .. 으로 표시한 것을 아실 수 있습니다. 소괄호로 감싸준 것을 볼 수 있죠.
if [[ $LANG =~ $locale ]] <-- 이 구문이 성공한다면 BASH_REMATCH[1] 변수에는 'en' , BASH_REMATCH[2] 변수에는 'US' 문자열이 각각 반환됩니다.
추가 궁금한 점 있으시면 다시 글 남겨주세요