/regexr/i
regexr
는 정규식 패턴(pattern)이며 앞뒤로 /
슬래시 문자로 감싸줘야 한다.
마지막의 i
는 플래그(flag)이다.
정규 표현식은 2가지 방법으로 만들 수 있다.
let regex = /abc/;
let regex = new RegExp('abc');
// or
let regex = new RegExp(/abc/);
패턴에 abc라는 문자를 찾기 위해 'abc' 문자열을 입력할 수도 있지만 특정 범위 또는 조건을 찾기 위해 다양한 패턴을 지정할 수 있다. 대표적인 패턴들을 알아 보자.
a-zA-z
: 영어알파벳 (-로 범위 지정)
ㄱ-ㅎ가-힣
: 한글 문자 (-로 범위 지정)
0-9
: 숫자 (-로 범위 지정)
.
: 모든 문자열 (숫자, 한글, 영어, 기호, 공백 모두)
\d
: 숫자
\w
: 영숫자 문자, 밑줄 문자 (= a-zA-Z0-9_)
\s
: 공백(space)
\D
, \W
, \S
: 해당 소문자 패턴이 아닌 것
|
: or (또는 = a|b)
[]
: 괄호 안의 문자들을 or 처리 (/[ab]/
: 'a' 또는 'b')
[^문자]
: 괄호 안의 문자 제거 ([^ab]
: 'a', 'b' 문자 제외)
^문자열
: 특정 문자열로 시작 (시작점)
문자열$
: 특정 문자열로 끝 (종착점)
?
: 없거나 or 최대 한 개
*
: 없거나 or 있거나 (여러 개)
+
: 최소 한 개 or 여러 개
/abc/gi 와 같이 플래그 여러 개를 같이 사용할 수 있다.
i
: 대소문자 구별 없이 검색 (Ignore Case)
g
: 문자열 내 모든 패턴 검색 (Global)
없으면 검색 결과 내 최초 문자 1개만 반환, 있으면 모든 결과가 배열로 반환
m
: 문자열 행 바뀌어도 계속 검색 (Multi Line)
cf)
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions
인파의 티스토리 - 정규식 이해하기 쉽게 정리 + 응용 예제