-
정규식 표현 (자바, 코틀린) - 전화번호, 우편번호, 이메일JAVA/자바공부 2022. 10. 14. 00:26
출처
정규식 test 해볼 수 있는 사이트 : https://regexr.com/
정규식 기본 강의 : https://www.youtube.com/watch?v=rhzKDrUiJVk
정규식 표현식 정리 : https://codechacha.com/ko/java-regex/
자바 정규식 :
코틀린 정규식 :
- https://codechacha.com/ko/kotlin-how-to-use-regex/
- https://kotlinlang.org/api/latest/jvm/stdlib/kotlin.text/matches.html
우편번호 정규식
/* * 우리나라 우편번호 정규식 */ // 1988 ~ 2015 "Regex": "^\\\\d{3}-\\\\d{3}$" // 2016 ~ "Regex": "^\\\\d{5}$" // 2개 다사용하기 "^\\\\d{3}-\\\\d{3}|\\\\d{5}$" private Boolean isValidPostalCode(String source) { Matchers matcher = source.matches("^\\\\d{3}-\\\\d{3}|\\\\d{5}$"); return matcher.find(); }
전화번호 정규식
"^01(?:0|1|[6*-*9])[.-]?(\\\\d{3}|\\\\d{4})[.-]?(\\\\d{4})$" // 010-523-8548 // 010-6645-8548 // 011.2525.7272
regex 문법 설명
^01 ^ 01로 시작한다. (?:0|1|[6-9]) ?: 0이거나, 1이거나, 6-9사이 숫자는 그룹핑에 포함하지 않는다. [.-]? ? .이나 -이 있을 수 도 있고 없을 수도 있다. (\\d{3} \\d{4}) \d [.-]? ? .이나 -이 있을 수 도 있고 없을 수도 있다. (\\d{4})$ $ 끝에 4글자의 숫자로 끝난다. 이메일 정규식
"^[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*@[0-9a-zA-Z]([-_.]?[0-9a-zA-Z])*\\\\.[a-zA-Z]{2,3}"
URL 형식 정규식
/((https?):\\/\\/)?(www.)?[a-z0-9]+(\\.[a-z]{2,}){1,3}(#?\\/?[a-zA-Z0-9#]+)*\\/?(\\?[a-zA-Z0-9-_]+=[a-zA-Z0-9-%]+&?)?$/
기본 문법 정리
문법 설명 결과
e+ e 또는 여러 e e, ee ea? ea를 찾을껀데 a는 있던지 없던지 상관 없는 옵션 ea, e ea* +와 ?를 합친 것 ea, e, ee .at 모든 값 + at *at \. period . \w 모든 글자 asjdjhsdel \W 글자가 아닌 모든 것 \s 모든 공백 \S 공백이 아닌 모든 것 \w{4,} 4글자이거나 4글자보다 긴 문자 skrr, hello, hellow \w{4,5} 모든 4글자거나 더 많은 글자의 단어 [fc]at 앞에 대괄호에 들어간 글자가 있는 at fat, cat [a-zA-Z]at 모든 대소문자를 포함하는 at Fat, aat, Zat [0-9]at 0부터 9사이 숫자가 앞에 오는 at 0at, 9at (t T)he t이거나 T인 he t the t이거나 the (t e r){2,3} (t e r){2,3}\. (re){2,3} re를 2-3개 포함한 단어 rere ^T 첫 시작이 T (very 시작만 확인, 모든 줄 확인하려면, gm = 멀티라인 조건 주어야한다) The ^[T t]he 첫 시작이 T나 t \.$ 달러 앞으로 끝나는 문자 korea. japan. (?<=[tT]he). the뒤에 오는 문자, 또는 The 뒤에 오는 문자 (?<![tT]he). the 뒤, The 뒤를 제외한 모두 .(?=at) at 앞 문자 .(?!at) at 앞글자가 아닌 모든 글자 \d 숫자 () 그룹핑 $1$2…로 지정가능 반응형'JAVA > 자바공부' 카테고리의 다른 글
DB의 시간, Java의 시간, Javascript의 시간 (Data, LocalDate, LocalDateTime, Y2K38 Problem) (2) 2023.03.07 자바 (0) 2023.02.20 자바 17로 바꿔야 할까? (자바 JDK 10 ~ 17 정리) (1) 2022.10.01 Optional<> 과 Null (이론편) (0) 2022.07.15 TIL - Final 키워드 (3) 2022.02.11