1. 정규 표현식이란?
정규 표현식(Regexp or Regex)은 특정한 규칙을 가진 문자열의 집합을 표현하는 데 사용하는 형식 언어.
정규 표현식은 많은 텍스트 편집기와 프로그래밍 언어에서 문자열의 검색과 치환을 위해 지원하고 있습니다.
2. 정규 표현법
문 자 |
설 명 |
예 제 |
\ |
다음에 오는 문자를 특수 문자, 리터럴, 역참조 또는 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] : 영문자
[가~힣] : 완성형 한글
연습 사이트 :
참고 :
- MSDN 포럼
'문화&기술' 카테고리의 다른 글
예술사를 통해 본 대상지시성과 자기지시성의 문제 (0) | 2022.02.21 |
---|---|
미장아빔 요약 (0) | 2022.02.21 |
미장아빔(Mise en abyme) (0) | 2022.02.21 |
서비타이제이션이란? (0) | 2020.06.20 |
스마일 커브(Smile Curve) (0) | 2020.06.20 |
댓글