iPhone搜索文本与正则表达式

时间:2014-10-21 14:14:38

标签: html ios objective-c regex

我正在使用此正则表达式:

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

NSString中搜索。我希望能够使用此搜索,但添加:

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

@GGGGG意味着没有任何文字&#39; RegexKitLite会忽略它,可以做这样的事情吗?

1 个答案:

答案 0 :(得分:1)

示例:

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