1 분 소요


◆정규식(Regular Expression)

정규 표현식은 문자열을 처리하는 방법 중의 하나로 특정한 조건의 문자를 검색하거나 추출하는과정을 처리할 수 있도록 하는 수단이다.


1) 매칭 패턴

패턴 의미
a-zA-Z 영어 알파벳으로 범위 지정
ㄱ-ㅎ가힣 한글 문자로 범위 지정
0-9 숫자 범위로 지정
. 모든 문자열(숫자, 한글, 영어, 특수기호, 공백 단, 줄바꿈은 안됨)
\d 숫자
\D 숫자가 아닌 것
\w 영어 알파벳, 숫자, 언더스코어(_)
\W 영어 알파벳, 숫자, 언더스코어(_)가 아닌것
\s space 공백
\S space 공백이 아닌것
\특수기호 특수기호


2) 검색 패턴

기호 의미
[] 괄호안의 문자들 중 하나
[^문자] 괄호안의 문자를 제외한 것
^문자 특정 문자열로 시작
^문자열 특정 문자열로 시작
문자열$ 특정 문자열로 끝남


3) 갯수 패턴

기호 의미 예시
? 없거나 또는 최대 한개만 apple?
* 없거나 또는 여러개 apple*
+ 최소 한개 또는 여러개 apple+
*? 없음 -
+? 한개 -

4) 그룹 패턴

기호 의미 예시
() 그룹화 및 캡쳐 -
(? : 패턴) 그룹화 (캡쳐X) -
(?=) 앞쪽 일치 ab(?=c)
(?!) 부정 앞쪽 일치 ab(?!c)
(?<=) 뒤쪽 일치 (?<=ab)c
(?<!) 부정 뒤쪽 일치 (?<!ab)c



◆정규식 그룹화

패턴() 안에 있는 정규식을 찾아준다.

1. koookoo.match(/ko+/) // "kooo"
2. koookoo.match(/(ko)+/) // "ko", "ko"

1 번째 코드는 표현식 o+만 적용되기 때문에 kooo 가 반환된다.
2 번째 코드는 패턴() 안에 k와 o가 묶었기 때문에 ko 가 반환된다.


이때 2번째 코드에서 ko가 두번 반복되는데 이는 캡쳐기능 때문이다.



◆정규식 캡처 기능

패턴() 안에 있는 표현식을 복사한다고 생각하면 된다.

kokokoko.match(/(ko)+/) // "kokokoko" "ko"

패턴() 안에 있는 ko를 그룹화하여 캡쳐(복사)한다.
ko 패턴을 1회 이상으로 반복되는 kokokoko를 찾고난 뒤 캡쳐해둔 표현식 ko를 검색한다.


참고 : inpa.tistory.com

댓글남기기