정규 표현식 (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 |