- startTransition
- type-challenges
- queryoptions
- LVH
- Viewport
- vh
- readonly
- type-challenges-easy
- tanstack-query
- mutationoptions
- websocket
- svh
- React
- msw2.0
- mock-service-worker
- react-hook
- HTTP
- webrtc #ice #stun #turn
- fsd
- tanstack-router
- webrtc
- queryfactory
- useTransition
- fsd-architecture
- Typescript
- Vite
- dvh
- MSW
- Mapped type
- SDP
- Today
- Total
개발자 메론빵
정규식 패턴과 대표 예제 본문
정규식을 사용할 때 마다 서치를 하게 돼서 내가 보려고 쓰는 포스팅..
이 포스팅을 제일 자주, 많이 들여다볼 듯 하다! 그리고 지속적으로 업데이트 될 예정😸
📌 기초 패턴
. : 임의의 한 문자에 매칭 (개행 문자 제외)
^ : 문자열의 시작
$ : 문자열의 끝
* : 앞의 패턴이 0번 이상 반복됨
+ : 앞의 패턴이 1번 이상 반복됨
? : 앞의 패턴이 0번 또는 1번 존재
{n} : 앞의 패턴이 정확히 n번 반복
{n,} : 앞의 패턴이 n번 이상 반복
{n,m} : 앞의 패턴이 n번 이상, m번 이하로 반복
📌 문자 클래스
[abc] : a, b, c 중 하나의 문자에 매칭
[^abc] : a, b, c가 아닌 문자에 매칭
[a-z] : 소문자 a부터 z 중 하나의 문자에 매칭
[A-Z] : 대문자 A부터 Z 중 하나의 문자에 매칭
[0-9] : 숫자 0부터 9 중 하나에 매칭
[a-zA-Z0-9] : 알파벳 대소문자와 숫자에 매칭
📌 특수 문자
\d : 숫자와 매칭 ([0-9]와 동일)
\D : 숫자가 아닌 문자와 매칭 ([^0-9]와 동일)
\w : 단어 문자에 매칭 (알파벳, 숫자, 언더스코어) ([a-zA-Z0-9_]와 동일)
\W : 단어 문자가 아닌 것에 매칭 ([^a-zA-Z0-9_]와 동일)
\s : 공백 문자에 매칭 (스페이스, 탭, 줄바꿈)
\S : 공백이 아닌 문자에 매칭
📌 그룹
(abc) : abc라는 정확한 문자열에 매칭하는 그룹
(a|b) : a 또는 b 중 하나에 매칭
(?:abc) : 매칭되지만 캡처되지 않는 그룹
📌 경계
\b : 단어 경계 (단어의 시작 또는 끝)
\B : 비단어 경계
📌 긍정형/부정형 탐색
(?=abc) : abc 앞에 오는 패턴을 찾음 (긍정형 전방 탐색)
(?!abc) : abc가 아닌 패턴을 찾음 (부정형 전방 탐색)
(?<=abc) : abc 뒤에 오는 패턴을 찾음 (긍정형 후방 탐색)
(?<!abc) : abc가 아닌 패턴을 찾음 (부정형 후방 탐색)
📌 자주 쓰이는 정규식 예제
이메일
/^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*\.[a-zA-Z]{2,3}$/i
전화번호
// `-` 제외
/^01([0|1|6|7|8|9])([0-9]{3,4})([0-9]{4})$/
// `-` 포함
/^01([0|1|6|7|8|9])-?([0-9]{3,4})-?([0-9]{4})$/
날짜 (YYYY-MM-DD)
^\d{4}-\d{2}-\d{2}$
생년월일
//6자리
/^([0-9]{2}(0[1-9]|1[0-2])(0[1-9]|[1,2][0-9]|3[0,1]))$/
//8자리
/^(19[0-9][0-9]|20\d{2})(0[0-9]|1[0-2])(0[1-9]|[1-2][0-9]|3[0-1])$/
한글만 허용
/[a-z0-9]|[ \[\]{}()<>?|`~!@#$%^&*-_+=,.;:\"'\\]/g
영문만 허용
/^[a-zA-Z]*$/
숫자만 허용
/^[0-9]*$/
비밀번호
//영문+숫자 조합 8~15자
/^(?=.*[a-zA-Z])(?=.*[0-9]).{8,15}$/
//영문+숫자+특수문자(!@#$%^*+=-) 조합 8~15자
/^(?=.*[a-zA-Z])(?=.*[!@#$%^*+=-])(?=.*[0-9]).{8,15}$/'FrontEnd' 카테고리의 다른 글
| Mock Service Worker (MSW 2.0) (0) | 2024.08.21 |
|---|