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

htkim님의 프로필 이미지
htkim

작성한 질문수

리눅스 쉘 스크립트 마스터

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

BASH_REMATCH 변수가 어디서 나온거죠?

작성

·

543

1

관련 답변 읽어보았으나 여전히 이해가 안되서 질문드립니다.

 

어디서 BASH_REMATCH 변수가 나오는건지 모르겠습니다.

$LANG =~ $locale이 되면 자동으로 BASH_REMATCH가 생성되는건지 어쩐건지 설명 없이 바로 그냥 저 변수에 2번째 요소와 1번째 요소를 호출하는게 이해가 안됩니다.

 

그리고 =~도 무슨 말씀인지 모르겠습니다.

 

대체로 명령어 실행했을 때 현상 만을 설명해주시고 원리 설명이 없어서 이해가 너무 어렵습니다.

 

참고할만한 정규표현식 관련 사이트 같은게 있으면 추천 좀 부탁드립니다.

답변 1

0

홍영기님의 프로필 이미지
홍영기
지식공유자

안녕하세요. htkim 님

BASH_REMATCH는 Bash 스크립트 내에서 사용되는 쉘 변수입니다. 이 변수는 [[ 명령을 사용하여 정규 표현식이 매치될 때, 매치된 부분과 관련된 정보를 저장합니다. 기본적으로, BASH_REMATCH의 첫 번째 원소(0번 인덱스)는 전체 매치된 문자열을 포함하고, 그 이후의 원소들은 괄호로 묶인 하위 표현식에 해당하는 매치들을 포함합니다.

예를 들어, 아래의 Bash 스크립트 예시를 살펴보겠습니다:
image

=~ 는 문자열을 정규표현식으로 비교할 때 사용하는 문법으로 이해하시면 됩니다.

기호 좌측에는 비교하고 싶은 문자열을, 우측에는 정규표현식을 작성하면 됩니다.

 

정규식을 학습할 수 있는 무료 사이트입니다.

https://regexr.com/

 

htkim님의 프로필 이미지
htkim

작성한 질문수

질문하기