我對NSBackwardSearch
瞭解如何在反向搜索字符串。NSRegularExpression在向後的方向?
我的問題,我可以通過NSRegularExpression
做相同的反向搜索。
如果是這樣,請分享您的知識?
我對NSBackwardSearch
瞭解如何在反向搜索字符串。NSRegularExpression在向後的方向?
我的問題,我可以通過NSRegularExpression
做相同的反向搜索。
如果是這樣,請分享您的知識?
沒有使用NSRegularExpression向後搜索的概念,您需要使用捕獲組並查找最後一次出現。它在class reference中沒有提及。
如果您有理由相信匹配會出現在一個非常大的字符串的後半部分,那麼您可以首先搜索該大字符串的子字符串,但是我個人不會嘗試以這種方式預先優化我的代碼。
感謝您的澄清 – Kirubachari
你可以扭轉你的正則表達式的結果陣列上使用您的枚舉:搜索時
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
}
你想向後找到最後一場比賽或讀取的字符串? –
我的目標是找到最後一場比賽。但是如果它是一個很長的字符串,它不是最優的查找所有的事件,然後通過發生[occurrence.length-1]得到結果。 – Kirubachari