정규 표현식 (Regular Expression)

·2023년 4월 25일
0

데일리 과제

목록 보기
12/15

정규 표현식 (Regular Expression)에 대해 설명해보세요.

개념

  • 프로그래밍에서 문자열을 다룰 때, 문자열의 일정한 패턴을 표현하는 일종의 형식 언어
  • 정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴
  • 각각 다른 포맷으로 저장된 엄청나게 많은 전화번호 데이터를 추출해야 할 때
  • 사용자가 입력한 이메일, 휴대폰 번호, IP 주소 등이 올바른지 검증하고 싶을 때
  • 코드에서 특정 변수의 이름을 치환하고 싶지만, 해당 변수의 이름을 포함하고 있는 함수는 제외하고 싶을 때
  • 특정 조건과 위치에 따라서 문자열에 포함된 공백이나 특수문자를 제거하고 싶을 때

구성

슬래쉬 문자 두개 사이로 정규식 기호가 들어가는 형태이다. 뒤의 i 는 정규식 플래그이다.

정규식 플래그

자주 사용하는 정규 표현식

이메일

/^0-9a-zA-Z@0-9a-zA-Z.[a-zA-Z]{2,3}$/i;

전화번호

  • 앞자리가 01이며 (0,1,6,7,8,9) 이며 중간에 3~4자리, 세번째는 4자리인 전화번호

/^01([0|1|6|7|8|9])-?([0-9]{3,4})-?([0-9]{4})$/;

  • 3자리/ 3,4자리 / 4자리 숫자

/^\d{3}-\d{3,4}-\d{4}$/;

  • 일반 전화번호

/^\d{2,3}-\d{3,4}-\d{4}$/;

비밀번호

  • 최소 8 자, 하나 이상의 대문자, 하나의 소문자, 하나의 숫자 및 하나의 특수 문자

    /^(?=.[a-z])(?=.[A-Z])(?=.\d)(?=.[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/;

  • 최소 8 자, 하나 이상의 대문자, 하나의 소문자 및 하나의 숫자

    /^(?=.[a-z])(?=.[A-Z])(?=.*\d)[a-zA-Z\d]{8,}$/;

  • 최소 8자, 하나의 이상의 대소문자 및 하나의 숫자, 하나의 특수문자

    /^(?=.[A-Za-z])(?=.\d)(?=.[@$!%#?&])[A-Za-z\d@$!%*#?&]{8,}$/;

참고자료

https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-%EC%A0%95%EA%B7%9C%EC%8B%9D-RegExp-%EB%88%84%EA%B5%AC%EB%82%98-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC

https://velog.io/@moolbum/JavaScript-%EC%A0%95%EA%B7%9C%ED%91%9C%ED%98%84%EC%8B%9D

profile
개발자가 되는 과정

0개의 댓글