Kotlin:
정규 표현식 사용하기
사용 방법:
기본 매칭
Kotlin에서 특정 패턴과 문자열이 매치되는지 확인하려면 Regex
클래스의 matches
메서드를 사용할 수 있습니다.
val pattern = "kotlin".toRegex()
val input = "I love kotlin"
val result = pattern.containsMatchIn(input)
println(result) // 출력 결과: true
문자열 부분 찾기 및 추출하기
패턴과 매치되는 문자열의 부분을 찾고자 할 때, Kotlin은 모든 매치를 순회할 수 있게 해줍니다:
val datePattern = "\\d{2}/\\d{2}/\\d{4}".toRegex()
val input = "오늘 날짜는 07/09/2023입니다."
val dates = datePattern.findAll(input)
for (date in dates) {
println(date.value)
}
// 출력 결과: 07/09/2023
텍스트 교체하기
패턴과 매치되는 문자열의 부분을 교체하는 것은 replace
함수를 사용하면 간단합니다:
val input = "Username: user123"
val sanitizedInput = input.replace("\\d+".toRegex(), "XXX")
println(sanitizedInput) // 출력 결과: Username: userXXX
문자열 분할하기
정규 표현식 패턴을 구분자로 사용하여 문자열을 리스트로 분할하기:
val input = "1,2,3,4,5"
val numbers = input.split(",".toRegex())
println(numbers) // 출력 결과: [1, 2, 3, 4, 5]
제3자 라이브러리: Kotest
Kotest는 Kotlin의 내장 정규 표현식 지원을 확장하는 인기 있는 Kotlin 테스트 라이브러리로, 특히 테스트 케이스에서의 검증에 유용합니다.
// 프로젝트에 Kotest가 추가되었다고 가정
import io.kotest.matchers.string.shouldMatch
val input = "[email protected]"
input shouldMatch "\\S+@\\S+\\.com".toRegex()
// 이것은 입력이 이메일 패턴과 매치되면 테스트를 통과합니다.
Kotlin 애플리케이션에 정규 표현식을 통합함으로써, 효율적으로 고급 텍스트 처리를 수행할 수 있습니다. 사용자 입력을 검증하거나, 데이터를 추출하거나, 문자열을 변환하는 등, 정규 표현식 패턴은 강력한 해결책을 제공합니다.