首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >反向的NSRegularExpression?

反向的NSRegularExpression?
EN

Stack Overflow用户
提问于 2013-07-12 19:56:03
回答 2查看 764关注 0票数 1

我对反向搜索字符串的NSBackwardSearch有一定了解。

我的问题是,我能通过NSRegularExpression做同样的反向搜索吗?

如果是,请分享你的知识?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-13 02:57:21

NSRegularExpression没有反向搜索的概念,您将需要使用捕获组并找到最后一个匹配项。在class reference中没有任何地方提到它。

如果你有理由相信匹配将在一个非常大的字符串的后半部分,你可以先搜索这个大字符串的一个子串,但我个人不会尝试以这种方式预先优化我的代码。

票数 1
EN

Stack Overflow用户

发布于 2015-05-18 17:18:14

您可以反转在正则表达式的结果数组上使用的枚举数:

代码语言:javascript
复制
NSString *regExPattern = @"<strong>.*?</strong>";
NSError *error = nil;
static NSRegularExpression *regex = nil;
regex = [NSRegularExpression regularExpressionWithPattern:regExPattern
                                                      options:NSRegularExpressionCaseInsensitive | NSRegularExpressionDotMatchesLineSeparators
                                                        error:&error];

NSArray *matches = [regex matchesInString:HTMLString options:0 range:NSMakeRange(0, HTMLString.length)];

for (NSTextCheckingResult *result in [matches reverseObjectEnumerator] /*HERE'S THE MAGIC*/)
{
    //Do something here
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17614393

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档