【发布时间】:2013-01-15 10:40:18
【问题描述】:
我有一个这样的 NSString:
NSString *string = @"<a href='http://john.com'>JOHN</a> http://john.com";
我想使用正则表达式来解析不在锚标记中的 URL,所以我可以将它们放在锚标记中。
我目前有这个:
NSRegularExpression *URLRegex = [NSRegularExpression
regularExpressionWithPattern:@"((https?):\\/\\/[-A-Z0-9+&@#\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\/%=~_|])" options:NSRegularExpressionCaseInsensitive error:nil];
这确实会检测到 URL,但它也会检测到锚标记中的 URL,这是有问题的。
有人知道我需要做什么吗? 谢谢。
更新:
@"([^\'](https?):\\/\\/[-A-Z0-9+&@#\\/%?=~_|!:,.;]*[-A-Z0-9+&@#\\/%=~_|][^\'])"
下面由 Alex 提供的这种模式是一种改进。但是如果我有这样的字符串 @"http://example.com; john.com"; - example.com 匹配。我怎样才能排除它?基本上我不希望匹配锚标记中的任何内容。
【问题讨论】: