[JavaScript] 정규표현식

윤후·2022년 5월 31일
0

JavaScript

목록 보기
6/21
post-custom-banner

정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다. JavaSciript에서는 정규 표현식도 객체로 exec 메소드와 test 메소드 ,그리고 String의 match메소드 , replace메소드 , search메소드 , split 메소드와 함께 쓰인다.

간단한 정규 표현식

const re = /a/         --a 가 있는 문자열
const re = /a/i        --a 가 있는 문자열, 대소문자 구분 안함
const re = /apple/    -- apple가 있는 문자열
const re = /[a-z]/    -- a~z 사이의 모든 문자
const re = /[a-zA-Z0-9]/    -- a~z, A~Z 0~9 사이의 모든 문자
const re = /[a-z]|[0-9]/  -- a~z 혹은 0~9사이의 문자
const re = /a|b|c/   --  a 혹은 b 혹은 c인 문자
const re = /[^a-z]/  -- a~z까지의 문자가 아닌 문자("^" 부정)
const re = /^[a-z]/  -- 문자의 처음이 a~z로 시작되는 문장
const re = /[a-z]$/  -- 문자가 a~z로 끝남

상용 정규 표현식

특수문자 체크 정규식
const regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/g;

모든 공백 체크 정규식
const regExp = /\s/g;

숫자만 체크 정규식
const regExp = /[0-9]/g;

이메일 체크 정규식
const regExp = /^[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_\.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i;

핸드폰번호 정규식
const regExp = /^\d{3}-\d{3,4}-\d{4}$/;

일반 전화번호 정규식
const regExp = /^\d{2,3}-\d{3,4}-\d{4}$/;

아이디나 비밀번호 정규식
const regExp = /^[a-z0-9_]{4,20}$/;

휴대폰번호 체크 정규식
const regExp = /^01([0|1|6|7|8|9]?)-?([0-9]{3,4})-?([0-9]{4})$/;

예제

앞에서 읽을 때나 뒤에서 읽을 때나 같은 문자열을 팰린드롬이라고 합니다.
문자열이 입력되면 해당 문자열이 팰린드롬이면 "YES", 아니면 “NO"를 출력하는 프로그램을 작성하세요.

function solution(s){
  let answer="YES";
  s=s.toLowerCase().replace(/[^a-z]/g, "")
  // const regExp = /[\{\}\[\]\/?.,;:|\)*~`!^\-_+<>@\#$%&\\\=\(\'\"]/g;
  // let upper = s.toUpperCase().replace(regExp,'').replace(/[0-9]/g, "");
  // let arr = upper.split(" ").reverse().join("")

  if(s !== s.split("").reverse().join("")) return "No"
  else return answer;
}
profile
궁금한걸 찾아보고 공부해 정리해두는 블로그입니다.
post-custom-banner

0개의 댓글