반응형
정규식
정규식은 문자열에서 특정 내용을 찾거나 대체할 때 사용됩니다.
문장이 필터링 되어야 하는 경우 정규표현식을 이용하면 간편하게 처리할 수 있어 유용합니다.
JS에서 주로 search(), replace(), match(), split() 등과 같은 메서드에 쓰입니다.
- 문자열.search(정규표현식)
- 문자열.replace(정규표현식, 치환문자열)
- 문자열.match(정규표현식)
- 문자열.split(정규표현식)
- 정규표현식.exec(문자열): 패턴과 일치하는 문자열을 배열로 반환
- 정규표현식.test(문자열): 패턴과 일치하는 문자열이 있는지 여부를 반환
정규식 규칙: /패턴/수정자
패턴
패턴 부분 정규식 규칙을 대부분 비슷합니다.
정규식 규칙
정규식 규칙 기호
| | OR a|b |
[문자] | 대괄호 내에 지정된 문자 집합 안의 문자들 중 문자 하나와 일치. 이때 '-'를 통해 범위 표현 가능합니다. /[abc]/ : a, b, c 중 문자 한 개와 일치 /[esx-z]/ : e, s, x, y, z 중 문자 한 개와 일치 /[가-힣]/: 모든 한글 문자 한 개와 일치 |
[^문자] | 대괄호안의 문자를 제외한 것 [^0-9] : 숫자 외의 문자 한 개와 일치 |
^문자열 | 지정 문자열로 시작 /^www/ |
문자열$ | 지정 문자열로 끝남 /com$/ |
. | 온점은 임의의 문자를 의미, 이때 문자는 개행 문자를 제외하고 모두 허용합니다. 줄바꿈도 허용하게 하기 위해선 수정자에 s 포함시키면 됩니다. |
\d \D | \d: 숫자 \D: 숫자 외 문자 |
\w \W | \w: 알파벳, 숫자, 언더바인 문자 \W: 알파벳, 숫자, 언더바를 제외한 문자 |
\s \S | \s: space 공백 \S: space 공백이 아닌 것 |
? | 없거나 한 개만 |
* | 없거나 여러 개 있거나 |
+ | 최소 한 개 이상 |
*? | 없어야 함 |
+? | 한 개만 |
{n} | n개 |
{n,} | 최소 n개 이상 |
{n, m} | 최소 n개 이상, 최대 m개 이하 |
\x | 16진수 문자에 일치 /\x61/는 a에 일치 |
\0 | 8진수 문자에 일치 /\141/은 a에 일치 |
\u | 유니코드(Unicode) 문자에 일치 /\u0061/는 a에 일치 |
\c | 제어(Control) 문자에 일치 |
\f | 다음 페이지 |
\n | 개행 |
\r | 캐리지 리턴 (= 커서를 줄 맨 앞으로 이동) |
\t | 탭 |
수정자
- i : 대소문자 구분하지 않고 검색합니다.
- g : 전역 검색으로, 매칭되는 문장을 만나도 멈추지 않고, 전체적으로 검색합니다.
- m : 문자열의 행이 바뀌더라도 검색을 계속합니다.
반응형
'Front-End > JS' 카테고리의 다른 글
JS Promise를 사용한 비동기 처리 (0) | 2023.04.27 |
---|---|
JS addEventListener 사용법 ( + capturing, bubbling ) (0) | 2023.04.27 |
JS Map과 Set (0) | 2023.04.26 |
JS 자바스크립트 반복문(Loop) / for in, for of 차이점 (0) | 2023.04.26 |
JS 내장 객체: String, Date, Math, Array, 정규식 객체 등 (0) | 2023.04.26 |