차밍이
[Linux] 정규 표현식 모음 / Regular Expression 본문
정규 표현식
Regular Expression
정규식 표현 : 특정한 규칙을 가진 문자열의 집합을 표현함
^ 문자열의 시작 : ^a 로 검색하면 a가 단어 중간인 경우는 제외 a로 시작 하는 것만 검색됨
$ 문자열의 끝 : a$ a로 끝나는 것만
\d 숫자
\D 숫자가 아닌 것
. 하나의 문자와 대응 : a.b >> acb, a3b, axb 등등
\w 알파벳 대소문자, 숫자, 언더스코어(_)
\W 그 외의 것들 \w에 포함되지 않는 것들
\s 공백문자
\S 공백문자가 아닌 것들
\n 개행문자
\ 메타문자를 문자 그대로 사용하기 위함
\t 탭
선택패턴
| 문자를 사용해서 여러개의 패턴을 매칭 가능
[] 대괄호 속에 넣은 문자 중 하나에 매칭
[0-9] 0~9 까지의 숫자 중 하나에 매칭
[A-Z] A~Z 까지의 알파벳 대문자 중 하나에 매칭 / 소문자는 소문자로
[a-zA-Z] 알파벳 대소문자 전체 중 하나에 매칭
[] 내부에서의 ^ 기호는 not을 의미함 [^A]는 A가 아닌 문자 중 하나에 매칭이란 의미
수량 한정자
? 0개 또는 1개
* 0개 이상
+ 1개 이상
{n} n개
{n, } n개 이상
{n, m} n개 이상, m개 이하
그룹 패턴
() 괄호는 그룹을 의미함
그룹은 전체 패턴 내에서 하나로 묶여지는 패턴을 의미
한 번 생성한 그룹은 재사용 가능
만들어진 순서로 1, 2, 3번으로 불러올 수 있음
(to)ma\1 == tomato
\1 이 앞의 그룹인 to에 매칭되어 재사용함
휴대폰 번호 정규 표현식으로 나타내기
^010(\D?\d{4})\1
^010 : 010으로 시작함
\D? : 숫자가 아닌 것이 올수도 안올수도 있음, 번호 사이의 하이픈이나 띄어쓰기가 있는 경우를 위해
\d{4} : 숫자 4개
\1 : (\D?\d{4}) 이 부분이 그룹 1번으로 묶여있음, 폰번호 뒷자로도 중간 자리와 동일한 포멧이므로 그룹 1번을 재사용해서 표현 가능
'리눅스' 카테고리의 다른 글
| [Linux] SSH 와 리눅스 원격 접속, openssh, SSH서버 실행 및 포트확인 (0) | 2021.08.12 |
|---|---|
| [Linux] 프로세스와 프로세스 명령어 ps/kill/job/at/crontab (0) | 2021.08.11 |
| [Linux] File Redirection / Pipe / Mount (0) | 2021.08.09 |
| [Linux] 나노 텍스트 에디터 단축키 (0) | 2021.08.05 |
| [Linux] 리눅스 명령어 모음 cat,find,grep,cp,mv, mkdir,touch,mdir 등 (0) | 2021.08.04 |
| [Linux] Kernel and Shell (0) | 2021.08.03 |
| [Linux] vim 세로줄 편집하기, 세로 방향 수정하기 (0) | 2021.04.16 |
| [Linux] VIM 창 분할 및 크기 조절하는 법 / VI editor 화면 조절 단축키 정리 (0) | 2021.04.15 |