IT/TIL
[TIL26_23.2.3.] [Javascript] 정규표현식 정리
nomoremystery
2023. 2. 3. 18:26
반응형
정규표현식
내가 작성한 정규표현식
비밀번호
const pwValidation = new RegExp(
/^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)(?=.*[~!@$#$%^&*\-?])[A-Za-z\d~!@$#$%^&*\-?]{8,}/
);
^
: 문자열 시작(?=
: positive look-ahead 그룹의 시작 (여기서 ?는 optional을 의미하지 않는다.).*?
: non-greedy matching (최소한으로 매칭되는 결과 찾기)(여기서도 ?는 optional을 의미하지 않는다.)[a-z]
: a-z 중 하나를 포함하는 문자)
: look-ahead 그룹의 종료{8,}
: 8자 이상$
: 문자열 끝
결과적으로, 소문자 알파벳, 대문자 알파벳, 모든 숫자, 특수문자 "~!@#$%^&*-?"를 포함하여 시작하고, 그 문자들로 이루어진 8자리 이상의 조합 이라는 뜻이 된다.
정리는 했지만 아직 look-ahead
의 표현이 이해가 잘 되지 않는다.
이메일
const emailValidation = new RegExp(
/^[a-zA-Z0-9+-\_.]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$/
);
^
문자열 시작[a-zA-Z0-9+-\_.]
a-z, A-Z, 0-9, +-_, . 중 하나 포함+@
그 다음 골뱅이 와야함[a-zA-Z0-9-]
: "a"-"z", "A"-"Z", "0"-"9", "-" 중 하나 포함+\.
그 다음 . 와야 함- "a"-"z", "A"-"Z", "0"-"9", "-", "." 중 하나 포함
$
문자열 끝
참고링크
참고링크-정리 잘 한 정규표현식 블로그
참고링크-stackoverflow
참고링크-정규표현식 lookahed,lookbehind (고급문법)
참고링크-정규표현식 도식화 사이트
반응형