MST

星途 面试题库

面试题:Swift 中如何使用正则表达式匹配邮箱格式

请编写一个 Swift 函数,使用正则表达式来验证输入的字符串是否为有效的邮箱格式,并返回验证结果。说明在 Swift 中使用正则表达式相关的类和基本步骤。
43.0万 热度难度
编程语言Swift

知识考点

AI 面试

面试题答案

一键面试
  1. 在Swift中使用正则表达式相关的类
    • 在Swift中,可以使用NSRegularExpression类来处理正则表达式。NSRegularExpressionFoundation框架的一部分,它提供了对正则表达式的支持。
  2. 基本步骤
    • 创建NSRegularExpression实例:通过调用NSRegularExpressioninit(pattern:options:error:)方法来创建实例,其中pattern是正则表达式字符串,options是一些匹配选项,error用于返回可能的错误。
    • 使用NSRegularExpression实例进行匹配:调用实例的matches(in:options:range:)方法,传入要匹配的字符串、匹配选项和匹配范围。
  3. Swift函数实现验证邮箱格式
import Foundation

func validateEmail(_ email: String) -> Bool {
    let emailRegex = "[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}"
    do {
        let regex = try NSRegularExpression(pattern: emailRegex, options: [])
        let range = NSRange(location: 0, length: email.utf16.count)
        return regex.firstMatch(in: email, options: [], range: range) != nil
    } catch {
        return false
    }
}

你可以使用以下方式调用这个函数:

let testEmail1 = "test@example.com"
let testEmail2 = "test.example.com"
print(validateEmail(testEmail1)) // true
print(validateEmail(testEmail2)) // false