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
반응형