정규 표현식, 또는 정규식은 문자열에서 특정 문자 조합을 찾기 위한 패턴이다. 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;
}