Swift에서 정규식을 사용하려면, NSRegularExpression 클래스를 사용해야 합니다. 이 클래스는 Foundation 프레임워크에 포함되어 있으므로 사용하기 전에 반드시 import Foundation을 선언해야 합니다.
아래는 문자열에 대한 패턴 매칭을 수행하는 도우미 함수입니다:
import Foundation
func matchesPattern(_ string: String, pattern: String) -> Bool {
do {
let regex = try NSRegularExpression(pattern: pattern)
let range = NSRange(location: 0, length: string.utf16.count)
return regex.firstMatch(in: string, options: [], range: range) != nil
} catch {
print("Invalid regex pattern: \(error.localizedDescription)")
return false
}
}
func isValidEmail(_ email: String) -> Bool {
let emailPattern = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
return matchesPattern(email, pattern: emailPattern)
}
func isAlphanumeric(_ string: String) -> Bool {
let pattern = "^[a-zA-Z0-9]+$"
return matchesPattern(string, pattern: pattern)
}
func isValidPhoneNumber(_ number: String) -> Bool {
let pattern = "^[0-9]{3}-[0-9]{3}-[0-9]{4}$"
return matchesPattern(number, pattern: pattern)
}
print(isValidEmail("test@email.com")) // true
print(isValidEmail("test-email")) // false
print(isAlphanumeric("test123")) // true
print(isAlphanumeric("test!@#")) // false
print(isValidPhoneNumber("123-456-7890")) // true
print(isValidPhoneNumber("1234567890")) // false
위의 예제들은 간단한 유효성 검사를 위한 것이므로, 실제 사용 시에는 정규식 패턴을 조금 더 정교하게 만들어야 할 수도 있습니다.