正则表达式 – 在Swift中的RegularExpression matchesInString问题

前端之家收集整理的这篇文章主要介绍了正则表达式 – 在Swift中的RegularExpression matchesInString问题前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在将基于CoreText的应用程序转换为 Swift,并且在将匹配项添加到文本中的正则表达式时遇到问题.

这是示例代码

let regexOptions = NSRegularExpressionOptions.CaseInsensitive | NSRegularExpressionOptions.DotMatchesLineSeparators
let regex = NSRegularExpression.regularExpressionWithPattern("(.*?)(<[^>]+>|\\Z)",options: regexOptions,error: nil)
var results: Array<NSTextCheckingResult> = regex.matchesInString(text,options: 0,range: NSMakeRange(0,countElements(text)))

根据文档,matchesInString函数返回一个NSTextCheckingResults数组,但编译器抱怨说“anyObject []类型的表达式不能转换为”NSMatchingOptions“.任何可能出错的想法?

解决方法

尝试分配到您的结果变量,如下所示:

var results = regex.matchesInString(text,options:nil,range:NSMakeRange(0,countElements(text)))as Array< NSTextCheckingResult>

>返回类型是Array< AnyObject> []!,当您检查集合的成员时,可以在此处(如上例所示)或以后进行转换>在Swift选项中,使用nil表示空选项集(在Objective-C中为0)

猜你在找的正则表达式相关文章