본문 바로가기

엔지니어/Linux

정규표현식(레귤러 익스프레션)

728x90
반응형
 
 
정규 표현법
 
문  자
 
설   명
 
예   제
 
\
 
다음에 오는 문자를 특수 문자, 리터럴, 역참조 또는 8진수 이스케이프로 표시합니다.
 
"\\"는 "\"를 찾고 "\("는 "(" 찾습니다.
 
^
 
입력 문자열의 시작 부분에서 위치를 찾습니다.     
^abc -> abcdef
 
^a?bc -> bcdef, abcdef
 
$
 
입력 문자열의 끝 부분에서 위치를 찾습니다. 
 
t$ -> eat
 
동$ -> 홍길동
 
*
 
앞의 문자나 부분식을 0개 이상 찾습니다.
 
ab* -> ab, aabb, abb, aaaa
 
ab*d -> ad, abd, abbbbd
 
+
 
앞의 문자나 부분식을 1개 이상 찾습니다.
 
zo+ -> zo, zoo
 
?
 
앞의 문자나 부분식을 0개나 1개 찾습니다.
 
te?n -> ten, tn
teen(x)
{n}
 
n의 수만큼 정확하게 앞글자를 반복합니다.
 
te{2}n -> teen
 
{n, m}
 
n과 m사이의 수만큼 앞글자를 반복
 
te{1,2}n -> ten, teen
 
.
 
New Line을 제외한 모든 글자
 
.n -> an apple, on the tree
 
(pattern)
 
패턴을 체크하고 체크한 값을 변수로 저장
 
(f..) (b..) -> foo, bar
 
(?:pattern)
 
패턴을 체크하고 체크한 값을 변수로 저장하지 않음
 
(?:f..) (b..) -> bar
 
(?=pattern)
 
패턴에 일치하는 문자열이 시작된 위치에서 검색 문자열을 찾습니다.
 
blah(?=soft|hard) -> blahsoft, blahhard, blah hard(x)
 
(?!pattern)    
패턴에 일치하지 않는 문자열이 시작된 위치에서 검색 문자열을 찾습니다.
 
blash(?!hard) -> blahsoft, blah soft
 
x|y
 
x 또는 y를 찾습니다.
 
z|food -> z, food
 
(z|f)ood -> zood, food
 
[xyz]
 
문자 집합, 괄호로 묶인 문자 중 하나를 찾습니다.
 
[abc] -> plain
 
[^xyz]
 
음수 문자 집합, 괄호로 묶이지 않는 문자를 찾습니다.
 
[^a-z] -> I'm a good man, I am A Good Man
 
[a-z]
 
문자의 범위. 지정한 범위에서 문자를 찾습니다.
 
[a-z]{4,} -> She sells sea shells by...
 
[^a-z]
 
음의 범위 문자. 지정한 범위에서 있지 않은 문자를 찾습니다.
 
[^a-z] -> KNOW know 
 
\b
 
단어와 공백 사이의 위치를 찾습니다.     
er\b -> naver, verb(x)
 
\B
 
\b 를 제외한 전부를 찾습니다.
 
er\B -> verb, naver(x)
 
\cx
 
x로 표시된 제어 문자를 찾습니다.
 
\cM -> Control-M or 캐리지 리턴 문자를 찾습니다.
 
\d
 
숫자를 찾습니다.
 
== [0-9] 
 
\D
 
숫자가 아닌 문자를 찾습니다.
 
== [^0-9]
 
\f
 
용지 공급 문자를 찾습니다.
 
== \xOc, \cL
 
\n
 
줄 바꿈 문자를 찾습니다.
 
== \xOa, \cJ
 
\r
 
캐리지 리턴 문자를 찾습니다.
 
== \xOd, \cM
 
\s
 
공백, 탭, 용지 공급 등을 비롯한 모든 공백 문자를 찾습니다.
 
== [\f\n\r\t\v]
 
\S
 
공백이 아닌 문자를 찾습니다.
 
== [^\f\n\r\t\v]
 
\t
 
탭 문자를 찾습니다.
 
== \x09, \cL
 
\v
 
새로 탭 문자를 찾습니다.
 
== \x09, \cK
 
\w
 
밑줄을 비롯한 모든 문자를 찾습니다.
 
== [A-Za-z0-9_]
 
\W
 
비단어 문자를 찾습니다.
 
== [^A-Za-z0-9_]
 
\xn
 
n을 찾는데, 여기서 n은 16진수 이스케이프 값입니다. (ASCII 코드가 정규식에 사용될 수 있습니다.)
 
\x41 -> A
 
\x041 -> \x04 & 1
 
 
 
[a-z] : 소문자
 
[A-Z] : 대문자
 
[a-zA-Z] : 영문자
 
[가~힣] : 완성형 한글
 
반응형

'엔지니어 > Linux' 카테고리의 다른 글

전 세계 보안 위기, 오픈SSL 치명적 취약점 발견  (0) 2022.10.31
구글 지도 그리기  (0) 2022.10.28
pdns install  (0) 2022.10.28
rhel 8 repo 설정  (0) 2022.10.28
sed 및 awk 사용법  (0) 2022.10.28