javascript - Regular Expression
◆정규식(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
댓글남기기