차밍이
[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 |