정규식
정규식이란?
정규 표현식은 문자열에서 특정한 패턴을 찾거나, 올바른 형식인지 검사하거나, 원하는 형태로 치환하기 위해 사용하는 정형화된 표현식이다.
정규 표현식의 생성 방식
- 리터럴 방식 : /패턴/옵션
- 생성자 방식 : new RegExp("패턴", "옵션")
패턴의 종류
a: 문자 a
abc: 문자열abc
.: 아무 문자 1개
[abc]: a 또는 b 또는 c
[a-z]: a 부터 z
[가-힣]: 한글
[0-9]: 숫자
[^0-9]: 숫자가 아닌 문자
*: 0번 이상
+: 1번 이상
?: 0 또는 1
{n}: 정확히 n번
{n,}: n번 이상
{n.m}: n~m번
^: 문자열 시작
$: 문자열 끝
\d: 숫자
\D: 숫자 아님
\w: 문자 또는 숫자 또는 _
\W: 문자 또는 숫자 또는 _ 외 문자
\s: 공백
\S: 공백 아닌 문자
g: 전체 검색
i: 대소문자 무시
m: 여러 줄 처리
(?=.*): 어디엔가 원하는 패턴이 하나라도 있어야 함
(?=.*[A-Za-z]): 영문자가 최소 1개 이상 있어야 함
(?=.*\d): 숫자가 최소 1개 이상 있어야 함
(?=.*[!@#$%^&*()]): 제시된 특수 문자중 최소 1개 이상 있어야 함
정규식 메서드
reg.test(string)
패턴에 문자열이 존재하면 true, 없으면 false를 반환한다.
const reg = /^[0-9]+$/
reg.test("a123") // false
reg.test("1234") // true
string.match(reg)
문자열에서 정규식과 일치하는 부분을 찾아 배열로 반환한다.
"abc123".match(/\d+/) // ["123"]
const result = "abc123xyz456".match(/\d+/g);
console.log(result); // ["123", "456"]
string.replace(reg, replacement)
패턴과 일치하는 부분을 원하는 문자열로 교체한다.
"010-1234-5678".replace(/-/g, "") //01012345678
string.search(reg)
패턴이 발견되는 인덱스 번호를 반환한다.
"hello".search(/e/) // 1
'FRONT-END' 카테고리의 다른 글
| [JavaScript] JavaScript 기초 9 (Promise, async/await) (0) | 2026.06.28 |
|---|---|
| [JavaScript] JavaScript 기초 8 (localStorage, sessionStorage, Cookie) (0) | 2026.06.27 |
| [JavaScript] JavaScript 기초 6 (BOM, DOM, 화살표함수, 콜백함수, 이벤트) (0) | 2026.06.21 |
| [JavaScript] JavaScript 기초 5 (class, 프로토타입, Object 객체) (0) | 2026.06.21 |
| [JavaScript] JavaScript 기초 4 (객체, 얕은 복사, 깊은 복사, 스프레드 문법) (0) | 2026.06.21 |