DataEngeneering/Linux

[Linux] 정규 표현식

김칠복 2022. 4. 4. 19:20

정규 표현식 (Reqular expression)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 일종의 형식이다.

 

 

문법

특정 문자들은 특정한 논리적 관계를 나타내는 기호로,
이를 제외한 나머지는 일반적인 문자를 뜻한다.

메타문자 의미 메타문자 의미
^ 문자열의 시작 \d 숫자
$ 문자열의 끝 \D 숫자가 아닌 것
. 하나의 문자와 대응 \w 알파벳 대소문자, 숫자, 언더스코어
\s 공백문자 \W \w에 해당하지 않는 글자
\S 공백문자가 아닌 것 \n 개행문자
\ 메타문자를 문자 그대로 사용 \t 탭(tab)문자

 

선택 패턴

1.

|문자를 이용하면
A | B 의 패턴으로 매칭 가능
alice | elice
예를 들어 라는 정규 표현식은
“alice”와 “elice”라는 문자열을 모두 포함한다.  
즉, alice 또는 elice 둘 중 하나라는 뜻

2.

[]:대괄호 속에 넣은 문자 중에서 하나에 매칭

[0-9] 0부터 0까지의 숫자 하나에 매칭

[A-Z] A부터 Z까지의 알파벳 대문자 하나에 매칭

 

여기서 [] 내에 ^기호는 not의 의미를 갖는다.

 

수량 한정자

수량자 의미 수량자 의미
? 0개 또는 1개 {n} n개
* 0개 이상 {n,m} n개이상, m개 이하
+ 1개 이상 {n,} n개 이상

 

그룹패턴

() 괄호는 그룹을 나타낸다.

그룹은 전체 패턴 내에서 하나로 묶여지는 패턴
한 번 생성한 그룹은 재사용 가능
만들어진 순서로 1번, 2번, 3번으로 참조 가능 
예를들어 (to)ma\1 은 ‘tomato’와 매칭됨.

'DataEngeneering > Linux' 카테고리의 다른 글

[Linux] 프로세스, 네트워크(SSH)  (0) 2022.04.04
[Linux] Linux pipe, 마운트  (0) 2022.04.04
[Linux]리눅스 파일 시스템  (0) 2022.04.04
[Linux]리눅스 이해하기  (0) 2022.04.04