728x90
반응형
정규표현식(Regular Expression)
1. 정규표현식 문법
🔎 정규표현식 형식
/패턴/플래그
- 패턴 : 찾고자하는 문자열
- 플래그 : 정규표현식에서 사용되는 옵션
🔎 정규표현식 매칭 패턴
| 패턴 | 의미 |
| a-zA-z | 영어알파벳(-으로 범위 지정) |
| ㄱ-ㅎ가-힣 | 한글 문자(-으로 범위 지정) |
| 0-9 | 숫자(-으로 범위 지정) |
| . | 모든 문자열(숫자, 한글, 영어, 특수기호, 공백 모두 포함. 단, 줄바꿈 제외) |
| \d | 숫자 |
| \D | 숫자가 아닌 문자열 |
| \w | 영어 알파벳, 숫자, 언더스코어(_) |
| \W | \w 가 아닌 문자열 |
| \s | space (공백 문자열) |
| \S | \s 가 아닌 문자열 |
| \특수기호 | 특수기호 |
🔎 정규표현식 검색 패턴
| 기호 | 의미 |
| | | OR |
| [] | 괄호안의 문자열들 중 하나 |
| [^문자] | 괄호안의 문자를 제외한 문자열 |
| ^문자열 | 특정 문자열로 시작 |
| 문자열$ | 특정 문자열로 끝남 |
| () | 그룹 검색 및 분류(match 메서드에서 그룹으로 묶어줌) |
| (?:패턴) | 그룹 검색(분류X) |
| \b | 단어의 처음과 끝 |
| \B | \b 가 아닌 문자열 |
🔎 정규표현식 수량 패턴
| 기호 | 의미 |
| ? | 최대 한번(없거나 한개) |
| * | 없거나 있거나 |
| + | 최소 한개 |
| {n} | n개 |
| {Min,} | 최소 Min개 이상 |
| {Min, Max} | Min개 이상 Max개 이하 |
🔎 정규표현식 수량 플래그
| 플래그 | 의미 |
| g | Global (모든 문자 검색) |
| i | Ignore Case (대소문자 구분 X) |
| m | Multi line (여러 행의 문자열에 대해 검색) |
2. 정규표현식 예제
// 웹페이지 주소
// http로 시작하며 그 다음에 s가 있거나 없거나
// 그 다음 :// 이 오고
// 그 다음 영문자, -, . 문자로 구성된 문자열이 한개이상 있는 모든 문자열
const reg = /https?:\/\/[\w\-\.]+/g
// 전화번호
// 숫자 2~3개 - 숫자 3~4개 - 숫자 4개
// 02-111-1234 or 010-1234-5678 등
const reg = /\d{2,3}-\d{3,4}-\d{4}/g
// 이메일주소 정규표현식
// 계정(여기서는 숫자,영문,-)@주소(영문,-,.)으로 이루어진 문자열
const reg = /[\d\w\-]+\@[\w\-\.]+/g
https://regexr.com/ - 정규표현식 테스트 웹사이트
728x90
반응형