swiftlet text = "Hello, World! Hello, Swift!"let range = NSRange(location: 0, length: text.utf16.count)let matches = regex.matches(in: text, options: [], range: range)for match in matches { let matchRange = match.range(at: 1) let matchText = (text as NSString).substring(with: matchRange) print("Matched text: \(matchText)")}
在上面的例子中,我们调用了正则表达式对象的 matches(in:options:range:) 方法来查找文本中所有与模式匹配的部分。然后,我们遍历匹配结果,并使用 range(at:) 方法获取每个匹配的范围,最后使用 substring(with:) 方法从原始文本中提取匹配的内容。案例代码下面是一个完整的示例代码,演示了如何使用 Swift 提取正则表达式匹配的内容:
swiftimport Foundationlet pattern = "Hello, ([A-Za-z]+)!"let regex = try! NSRegularExpression(pattern: pattern, options: [])let text = "Hello, World! Hello, Swift!"let range = NSRange(location: 0, length: text.utf16.count)let matches = regex.matches(in: text, options: [], range: range)for match in matches { let matchRange = match.range(at: 1) let matchText = (text as NSString).substring(with: matchRange) print("Matched text: \(matchText)")}
上述代码首先创建了一个正则表达式对象,然后在文本中查找与模式匹配的部分,并提取匹配的内容。在这个例子中,我们将匹配的结果打印到控制台上。使用 Swift 提取正则表达式匹配可帮助我们从文本中快速提取特定模式的内容。通过创建正则表达式对象,并使用 matches(in:options:range:) 方法,我们可以轻松地获取匹配的结果,并进一步处理它们。正则表达式在处理文本时非常有用,它提供了一种灵活而强大的方式来匹配和提取特定模式的内容。在 Swift 中,使用 NSRegularExpression 类可以轻松地实现这一功能。