[swift] 클로저를 사용하여 문자열에 포함된 특정 패턴을 검사하는 방법은 무엇인가요?

먼저, NSPredicate 클래스를 사용하여 패턴을 정의하고, 이 패턴을 만족하는 문자열을 찾을 수 있습니다.

다음은 클로저를 사용하여 문자열 내의 특정 패턴을 검사하는 예제입니다.

let inputString = "Hello, World!"
let pattern = "Hello"
        
let range = NSRange(location: 0, length: inputString.utf16.count)
if let regex = try? NSRegularExpression(pattern: pattern, options: []) {
    if regex.firstMatch(in: inputString, options: [], range: range) != nil {
        print("패턴이 발견되었습니다.")
    } else {
        print("패턴을 찾지 못했습니다.")
    }
}

위의 코드에서 NSRegularExpression 클래스를 사용하여 정규식 패턴을 정의하고, firstMatch 메서드를 사용하여 입력 문자열 내에서 해당 패턴을 검색합니다. 클로저를 통해 패턴이 발견되었는지 여부를 확인할 수 있습니다.

더 복잡한 패턴을 검사하려는 경우, NSPredicate 클래스를 사용하여 정규식 패턴을 더 유연하게 정의할 수도 있습니다.

참고 문헌: https://developer.apple.com/documentation/foundation/nsregularexpression