iOS (스파르타)
정규 표현식, 정규식 표현들
가애야
2024. 8. 30. 10:14
이메일 조건을 걸어서 했었는데
팀원분이 보시고 정규식이 있을거라해서 찾아봤당!
문법
표현 정규식 | 의미 |
^ | 시작 앵커 |
(?=.*[A-Z].*[A-Z]) | 문자열에서 대문자가 2개 있는지 |
(?=.*[!@#$%^]) | 문자열에서 선언한 특수 문자가 존재하는지 |
(?=.*[0-9].*[0-9]) | 문자열에서 숫자가 2개 포함되어 있는지 |
(?=.*[a-z].*[a-z].*[a-z]) | 문자열에서 소문자가 3개 이상 포함되어 있는지 |
.{10} | 문자열의 길이가 10인지 |
& | 끝 앵커 |
이메일 정규식 표현
let regex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,64}"
- @앞에는 대문자, 숫자, 소문자, 특수문자(._%+-)가 포함 가능
- \\. 콤마를 표현하기 위해서 \\사용
- @뒤로는 대문자, 소문자, 숫자 그리고 . 기준으로 맨 마지막 문자가 2~64길이
핸드폰 번호 정규식 표현
let regex = "^01[0-1, 7][0-9]{7,8}$"
- ^ 는 시작 앵커, $ 는 끝 앵커
- 핸드폰 번호는 01로 시작
- 01다음에는 0,1,7 가능
- 그다음에 오는 숫자는 0~9 가능하고 7자리에서 8자리만 가능
패스워드 정규식 표현
let regex = "^(?=.*[A-Za-z])(?=.*[0-9])(?=.*[!@#$%^&*()_+=-]).{8,50}" // 8자리 ~ 50자리 영어+숫자+특수문자
- ^ 첫 앵커, $ 끝 앵커
- (?=.* 로 시작: 조건문
- (?=.*...)(?=.*...)이와 같이 묶인것은 And조건이 아닌 Or조건
- (?=.*[A-Za-z]) 대문자나 소문자 가능
- (?=.*[0-9]) 숫자 가능
알려준 팀원님 감사하고,
내용 가져온 블로그 종권님 감사해요