인프런 커뮤니티 질문&답변

우하하님의 프로필 이미지
우하하

작성한 질문수

리눅스 쉘 스크립트 마스터

정규 표현식 비교(if..fi)

(..)_(..) 와 BASH_REMATCH

작성

·

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' 문자열이 각각 반환됩니다.

 

추가 궁금한 점 있으시면 다시 글 남겨주세요

우하하님의 프로필 이미지
우하하

작성한 질문수

질문하기