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
댓글남기기