출처 : 모던 자바스크립트 Deep Dive p. 578~
일정한 패턴을 가진 문자열의 집합을 표현하기 위해 사용하는 형식 언어
자바스크립트 고유의 문법이 아니고 대부분의 프로그래밍 언어와 코드 에디터에 내장
/regexp/i
/ / : 시작, 종료 기호
regexp : 패턴
i : 플래그
RegExp.prototype.exec
ex) ["is", index: 5, input: "Is this all there is?", groups: undefined]
RegExp.prototype.test
String.prototype.match
string 표준 빌트인 객체가 제공하는 match 메서드는 대상 문자열과 인수로 전달받은 정규 표현식과의 매칭 결과를 배열로 반환
exec 메서드는 문자열 내의 모든 패턴을 검색하는 g플래그를 지정해도 첫번째 매칭 결과만 반환
string.prototype.match 메서드는 g플래그가 지정되면 모든 매칭 결과를 배열로 반환
| 플래그 | 의미 | 설명 |
|---|---|---|
| i | Ignore case | 대소문자를 구별하지 않고 패턴을 검색한다. |
| g | Global | 대상 문자열 내에서 패턴과 일치하는 모든 문자열을 전역 검색한다. |
| m | Multi line | 문자열의 행이 바뀌더라도 패턴 검색을 계속한다. |
.은 임의의 문자 한개
?은 앞선 패턴이 최대 한번(0번 포함) 이상 반복되는 문자열
[] 내의 문자는 or로 동작
\w 는 알파벳, 숫자, 언더스코어를 의미
\w === [A-Za-z0-9]
내가 작성한 정규식
// id (대문자, 소문자, 숫자 중 포함 8~16자
const regExp = /^[A-Za-Z0-9]{8, 16}$/;
// pw (대문자, 소문자, 숫자 필수 포함 5~20자
const regExp = /^(?=.*[A-Z])(?=.*[a-z])(?=.*\d).{8, 30}$/;