2014-10-21 6 views
-5

Я использую этот Regex:iPhone поиск текста с регулярным выражением

<li class=\"b_algo\"><h2><a href=\"(.*?)\" 

Для поиска в NSString. И я хочу, чтобы иметь возможность использовать этот поиск, но добавьте:

<li class=\"b_algo\">@GGGGG<h2><a href=\"(.*?)\" 

@GGGGG означает, что никакие вопросы, текст»RegexKitLite проигнорирует его, это не возможно, чтобы сделать что-то вроде этого?

+6

ошибка # 1: используя регулярное выражение для разбора HTML. –

ответ

0

Пример:

NSString *target = @"<li class=\"b_algo\">@GGGGG<h2><a href=\"http://test.xyz\" junk"; 
NSString *regEx = @"<li class=\"b_algo\">@[^<]+<h2><a href=\"([^\"]+)\""; 

NSRange searchedRange = NSMakeRange(0, [target length]); 
NSError *error = nil; 

NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern:regEx options:0 error:&error]; 
NSTextCheckingResult *match = [regex firstMatchInString:target options:0 range: searchedRange]; 

NSLog(@"target: %@", target); 
NSLog(@"regEx: %@", regEx); 
NSLog(@"group1: %@", [target substringWithRange:[match rangeAtIndex:1]]); 

Выход:

target: <li class="b_algo">@GGGGG<h2><a href="http://test.xyz" junk 
regEx: <li class="b_algo">@[^<]+<h2><a href="(.*?)" 
group1: http://test.xyz 
Смежные вопросы