정규식이란?
- 특정한 규칙을 가진 문자열 집합을 표현하여 사용하는 형식 언어.
- 정규표현식을 이용하면
- 입력된 문자열에 대한 특정 조건 검색, 일치 여부 판단, 치환에 대한조건문을 간단히 처리할 수 있다.
정규표현식 객체 생성 및 확인하기
1) const regExp = new RegExp("정규표현식");
2) const regExp = /정규표현식/;
->양쪽 '/' 기호는 정규표현식의 리터럴 표기법
2. 문자열 패턴 확인 메서드(함수)
1)regExp.test("문자열")
-> 문자열에 정규표현식과 일치하는 패턴이 있을 경우 true, 없으면 false
2)regExp.exec(문자열)
-> 문자열에 정규표현식과 일치하는 패턴이 있을 경우
처음 매칭되는 문자열 반환, 없으면 null을 반환
- 문자열의 패턴을 나타내는 문자열
- 문자마다 지정된 특별한 뜻이 담겨있다.
정규표현식을 할때는 대소문자 구분을 반드시 해야한다
표현식 | 설명 | 참고 |
---|---|---|
a(일반문자열 | 문자열 내에 a라는 문자가 존재하는지 검색한다. | |
[abcd] | 문자열 내에 a, b, c, d중 하나라도 있는지 검색한다. | |
^(캐럿) | 문자열의 시작을 의미한다. | |
$(달러) | 문자열의 끝을 의미한다. | |
\w (word, 단어) | 아무 글자(단, 띄어쓰기, 특수문자, 한글x 인식하지 못함) | |
\d (digit, 숫자) | 아무 숫자 (0~9중하나) | |
\s(space, 공간) | 아무 공백 문자(띄어쓰기, 엔터, 탭 등) | 정규표현식을 할때는 대소문자 구분을 반드시 해야한다 |
[0-9] | 0부터 9까지의 모든 숫자 | |
[ㄱ-힣] | ㄱ 부터 힣 까지 모든 한글(자음, 모음, 자+모음 + 받침) | |
[가-힣] | 자음, 모음만 작성되는 경우를 제외한 한글 | |
[a-z] | 모든 영어 소문자 | |
[A-Z] | 모든 영어 대문자. | |
특수문자 | 각각을 입력하는 방법만 있음 단, 메타문자와 중복되는 특수문자는 앞에 (백슬래시)를 추가하여 Escape문자로 만들어 사용 | |
a{5} | a문자가 5개 존재 = > aaaaa | |
a{2, 5} | a가 2개이상 5개 이하 => aa, aaa, aaaa, aaaaa | |
a{2,} | a가 2개 이상 | |
a{,5} | a가 5개 이하. | |
* | 0개 이상 == 0번 이상 반복 ==없어도 되고, 있어도 되고. | |
+ | 1개 이 1번 이상 반복 | |
? | 0개 또는 1개 | |
. | 1칸(개행문자를 제외한 문자 하나-개행문자를 줄바꿈기호를 말하기도 함) |
한글(자음과 모음이 모두 있는) 2글자 이상 6글자 이하인 정규표현식
: /^[가-힣]{2,6}$/
이메일양식으로 첫글자는 영문자로 시작하지만,영어와 숫자로 이루어지고 마지막에 .com으로 끝나는 정규표현식을 작성하라.
:/^[A-Za-z]-[A-Za-z0-9]{1,}\@[a-zA-Z0-9].com$/