2013-05-29 42 views
0

我想使用NSRegularExpression获取html中的所有下载链接。NSRegularExpression获取html内容中的所有下载链接

例如HTML内容是这样的:

<a href="http://xxxx.com/file.mp3">text info</a> 

,我想这样的所有字符串:

href="http://xxxx.com/file.mp3" 

现在我使用这种模式:

NSString *pattern = @"(?<=href=\").+?\\.(mp3)"; 

但它不能很好地工作。

+0

相关:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –

+0

你究竟是什么意思?“它不起作用这么好“?你有任何测试用例吗? – Monolo

回答

1

正如我在我的评论中提到,这个问题有点得以确认,但如果我们采取在面值,那么你要提取字符串中的任何<a>标签的href属性,它的文件扩展名是.MP3 。我希望我有这个权利。

说实话,我希望你只需要这个URL,但现在我们将使用href属性。

你的模式来获得这些字符串是基本上是正确的,就是没有必要使用正面看后面(这意味着href="部分包含在比赛)。所以用这个模式,你应该得到你所需要的:

NSString *pattern = @"href=\"[^\"]+\\.mp3\""; 

请注意,该网址是由包括不是一个引号中的所有字符匹配,否则,你的风险,以配合随机” .MP3" 串html文本。