[JavaScript]정규표현식

양시온·2023년 6월 21일
post-thumbnail

✨정규식(Regular Expression)
: 문자열에서 특정 내용을 찾거나 대체 또는 발췌하는데 사용

① 다른 포맷으로 저장된 데이터를 분류 할 때
② 사용자 입력폼을 검사 할 때(이메일, 전화번호 등)
③ 공백이나 특수문자를 제거하고 싶을 때


✨정규표현식은 리터럴 방식과 생성자방식이 있다.

자바스크립트은 정규표현식을 위해 RegExp 객체를 지원한다.
RegExp 객체를 생성하기 위해서는 리터럴 방식과 RegExp 생성자 함수를 사용할 수 있다.
일반적인 방법은 리터럴 방식이다.

리터럴방식 : 슬래시로 패턴을 감싸서 작성
const re = /ab+c/

생성자방식
const re = new RegExp("ab+c")
const re = new RegExp(/ab+c/)

리터럴방식은 스크립트를 불러올 때 컴파일되므로,
바뀔 일이 없는 패턴의 경우 사용 권장된다.

생성자 방식은 런타임에 컴파일되므로,
바뀔 수 있는 패턴이나, 사용자 입력 등 외부 출처에서 가져오는 패턴의 경우 사용권장


✨자바스크립트 정규식메서드와 정규식플래그

정규식은 '/'로 시작하고 '/'로 끝난다.
플래그는 하나만 찾을지, 여러개를 찾을 지 설정하는 옵션이라고 생각하면 된다.


✨자주 사용하는 정규표현식

1. 특정 단어로 시작하는지 검사한다.

const url = 'http://example.com';
// 'http'로 시작하는지 검사
// ^ : 문자열의 처음을 의미한다.
const regexr = /^http/;
console.log(regexr.test(url)); // true
2. 핸드폰 번호 형식에 맞는지 검사한다.

const cellphone = '010-1234-5678';
const regexr = /^\d{3}-\d{3,4}-\d{4}$/;
console.log(regexr.test(cellphone)); // true
3. 기타사용법 (simple.ver)

/a/.test('abcde')  //true 
/[a-d]/.test('aefg')  //true
/[-]/.test('다라마바')  //true

등등 수많은 정규표현식이 있으니 아래 글에서 더욱 알아보자.


참고 :
1. 저의 부족한 글에 보충할만한 글을 소개하고 싶어요.
curryyou.tistory
poiemaweb
inpa.tistory

2.MDN문서
MDN

profile
병아리개발자🐤

0개의 댓글