
/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
인파의 티스토리 - 정규식 이해하기 쉽게 정리 + 응용 예제