Kotlin/문법

Kotlin - 정규식

내손은개발 🐾 2024. 2. 16. 13:21

정규식 ?

정규 표현식을 줄여서 말한다.

특정한 규칙을 가진 문자열의 집합을 표한하는 데 사용하는 형식 언어

 

왜 알아야할까 ?

이미지 출처

이메일 검증 정규식이다..

유효한 이메일 주소인지 비밀번호 규칙에 맞는지 사용된다.

 

이메일 확인 정규식 설명 - https://devwooks.tistory.com/64

 

 

문법

  • ^ : 문자열의 시작을 의미.
  • $ : 문자열의 끝을 의미.
  •  . : 문자 한 개를 의미. '.'이 위치한 곳에 어떤 문자든지 1개의 문자가 들어감.
  • [ ] : 대괄호에 있는 문자 중 한 개를 의미. [abc]는 a, b, c 중 하나를 선택.
  • [^] : not의 의미로, 대괄호에서 쓴다면 [^abc] : a, b, c 제외하고 나머지를 의미.
  •  | : or을 의미. a|b : a 또는 b.
  • () : 공통되는 부분을 묶을 때, 서브 패턴을 지정할 때 사용. abc|abd -> ab(c|d)로 바꿀 수 있음.
  • ? : 문자가 0회 또는 1회 등장. a? b는 a가 나올 수도, 없을 수도 있음. ab, b.
  • * : 문자가 0회 이상 등장. a*b : b, ab, aaab, aaab..
  • + : 문자가 1회 이상 등장. a+b : ab, aab, aaab..
  • {n} : 문자가 n개 나옴. a {2} b : aab
  • {n,} : 문자가 n개 이상 나옴. a {2,} b : aab, aaab, aaaab..
  • {n, m} : 문자가 n개 이상 m개 이하로 나옴. a {1,3 } b : ab, aab, aaab
  • \s : 공백 제거
  • \t : 탭
  • \d : 숫자, [0-9]와 동일
  • \b : 단어의 경계, 문자 사이의 공백
  • \w : 알파벳이나 숫자, [a-zA-Z0-9_]와 동일
  • 위의 \s, \t, \d, \b, \w는 대문자로 바꾸면 반대 의미가 됩니다. 

 

 

 

3중 따옴표

사용하면 역슬래시로 escape할 필요없이 사용가능하다.

fun main() {
    val quote = "\d" //컴파일 에러
    println(quote)
    
    val tripleQuotes = """\d"""
    println(tripleQuotes) // \d
}

 

 

인터넷 주소 예제

fun main() {
    val path = "https://naver.com"
    val regex = "https://(.+)".toRegex()

    isMatch(path, regex)
}

fun isMatch(path: String, regex: Regex) {
    if (path.matches(regex)) println("match")
    else println("not match")
}
출처: https://yoon-dailylife.tistory.com/113 [알면 쓸모있는 개발 지식:티스토리]

 

 

 

 

 

 

 

'Kotlin > 문법' 카테고리의 다른 글

Kotlin - startsWith, andsWith  (0) 2024.02.19
Kotlin - StringBuilder  (0) 2024.02.19
Kotlin - Scope Functions( let, run, with, apply, also )  (0) 2024.02.14
Kotlin - reduce, fold  (0) 2024.02.13
Kotlin - 소수 구하기  (0) 2024.02.08