• 카테고리

    질문 & 답변
  • 세부 분야

    시스템

  • 해결 여부

    미해결

(..)_(..) 와 BASH_REMATCH

22.01.17 00:19 작성 조회수 566

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

 

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