首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

在Swift中获取一对方括号之间的文本的正则表达式

可以使用以下代码:

代码语言:txt
复制
import Foundation

func getTextBetweenBrackets(input: String) -> [String] {
    var results = [String]()
    let regex = try! NSRegularExpression(pattern: "\\[(.*?)\\]", options: [])
    let matches = regex.matches(in: input, options: [], range: NSRange(location: 0, length: input.utf16.count))
    
    for match in matches {
        if let range = Range(match.range(at: 1), in: input) {
            let text = input[range]
            results.append(String(text))
        }
    }
    
    return results
}

let input = "This is some [example] text [with] brackets."
let texts = getTextBetweenBrackets(input: input)
print(texts) // Output: ["example", "with"]

上述代码中,我们定义了一个名为getTextBetweenBrackets的函数,该函数接受一个字符串参数input,并返回一个包含方括号之间文本的字符串数组。

函数内部使用了NSRegularExpression类来创建一个正则表达式对象regex,该正则表达式的模式是\\[(.*?)\\],其中\\[\\]分别表示匹配方括号的字符,(.*?)表示匹配方括号之间的任意字符,?表示非贪婪匹配。

接下来,我们使用regex.matches(in:options:range:)方法来获取所有匹配的结果。然后,遍历每个匹配结果,通过match.range(at:)方法获取方括号之间文本的范围,再通过Range(_:in:)方法将范围转换为String类型的文本,并将其添加到结果数组中。

最后,我们调用getTextBetweenBrackets函数,并传入一个示例字符串input,得到方括号之间的文本数组texts,并将其打印输出。

这是一个简单的示例,用于演示在Swift中获取一对方括号之间的文本的正则表达式。在实际应用中,您可能需要根据具体需求进行适当的修改和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

领券