상세 컨텐츠

본문 제목

정규표현식에 대해 알아보자!

Javascript

by 리액트바오 2022. 9. 1. 11:19

본문

정규표현식은 어디에 쓸까?

정규표현식(Regular Expression)은 줄여서 정규식이라고 하는데 문자열에서 특정 내용을 찾거나 대체 또는 뽑아낼때 사용한다.

- 많은양의 전화번호 데이터를 추출해야 할 때

- 로그인 또는 회원가입시 사용자가 입력하는 아이디, 이메일, 전화번호 등이 올바른지 검정할 때

- 코드를 짤때 특정 변수의 이름을 바꾸고 싶은데, 해당 변수의 이름을 포함하고 있는 함수는 제외하고 싶을 때

- 문자열에 포함된 공백이나 특수문자를 제거하고 싶을때

 

정규표현식의 단점

가독성이 좋지 않다. 주석이나 공백을 허용하지 않으며 여러가지 기호를 붙여서 사용하기 때문이다.

 

자주 사용하는 정규표현식

숫자 ^[0-9]*$
영문자 ^[a-zA-Z]*$
한글 ^[가-힣]*$
영어&숫자 ^[a-zA-Z0-9]*$
비밀번호 (숫자, 문자 포함의 6~12자리 이내) ^[A-Za-z0-9]{6,12}$
비밀번호 (숫자, 문자, 특수문자 포함 8~15자리 이내) ^.*(?=^.{8,15}$)(?=.*\d)(?=.*[a-zA-Z])(?=.*[!@#$%^&+=]).*$
이메일 ^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*.[a-zA-Z]{2,3}$
휴대전화 ^\\d{3}-\\d{3,4}-\\d{4}$
일반전화 ^\\d{2,3}-\\d{3,4}-\\d{4}$
주민등록번호 \d{6} \- [1-4]\d{6}
파일확장자 ^\\S+.(?i)(txt|pdf|hwp|xls)$
이중 파일확장자 (.+?)((\\.tar)?\\.gz)$

 

자주 사용하는 정규식은  별도의 표기법으로도 표현할 수 있다.

[0-9] 또는 [a-zA-Z] 처럼 자주 사용하는 정규식은 별도의 표기법으로 표현할 수 있다. 

\d 숫자와 매치, [0-9]와 동일한 표현
\D 숫자가 아닌 것과 매치, [^0-9]와 동일한 표현식
\w 문자+숫자와 매치, [a-zA-Z0-9_]와 동일한 표현식
\W 문자+숫자가 아닌 문자와 매치,[^a-zA-Z0-9_]와 동일한 표현식

 

관련글 더보기