从url [ios]中提取facebook页面

时间:2014-03-18 15:47:59

标签: ios iphone regex facebook

我的问题非常小,但我无法解决。

我有2个facebook网址:

http://www.facebook.com/pages/ Name_Of_Page / ID_OF_PAGE

http://www.facebook.com/ Name_Of_Page

我需要使用NSRegularExpression提取仅名称

这是我的代码:

NSRegularExpression* FBregex = [NSRegularExpression regularExpressionWithPattern:@"((http|https)://)?([w]{3}\\.)?(facebook\\.com/(pages/)?)" options:0 error:&error];
NSString *result=[FBregex stringByReplacingMatchesInString:STRING_TO_EVALUATE options:0 range:NSMakeRange(0, [STRING_TO_EVALUATE length]) withTemplate:@""]

我需要删除要显示的页面的ID。有任何想法吗? 感谢。

1 个答案:

答案 0 :(得分:0)

我以前没有使用过NSRegularExpressions,但如果它是Perl-Compatible,有几种方法可以达到你想要的效果。

这是lookbehind方法。 Lookbehinds不捕获任何东西,它们只标记一个位置,所以匹配从字符类开始,并在它运行到单词边界时结束。

~(?<=pages/)[-A-Z0-9_.]+\b~i

这是Forget Everything方法。 \K告诉REGEX引擎要求pages/存在,但是忘了它。因此,它具有与在字符类中开始捕获并在它运行到字边界时结束相同的效果。

~pages/\K[-A-Z0-9_.]+\b~i

这两种方法都只会为您提供页面名称。

Here is a demo