ios - NSRegularExpression 用于获取html内容中的所有下载链接

标签 ios regex nsregularexpression

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

例如html内容是这样的:

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

我想得到这样的所有字符串:

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

现在我正在使用这种模式:

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

但是效果不太好。

最佳答案

正如我在评论中提到的,这个问题有点不明确,但如果我们从表面上看,那么你想要提取 href来自任何 <a> 的属性字符串中的标签,文件扩展名为.mp3。我希望我做对了。

说实话,我本以为您只需要 URL,但现在我们将使用 href 属性。

获取这些字符串的模式基本上是正确的,只是不需要使用正向查找(这意味着 href=" 部分包含在匹配中)。因此,通过这种模式,您应该得到您所需要的:

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

请注意,URL 的匹配方式是包含所有非引号的字符,否则您可能会遇到与 html 文本中的随机“.mp3”字符串匹配的风险。

关于ios - NSRegularExpression 用于获取html内容中的所有下载链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16815759/

相关文章:

iphone - 从 super View 中删除表 subview

ios - 对 Realm 列表进行排序并保存结果

ios - Xcode 7 beta 3 的 Swift 2 中的 try/catch 行为不正确?

swift - 是否有转义所有与正则表达式相关的字符的功能?

cocoa - 将环境变量替换为 NSString

iphone - Cocos2D 复杂动画

regex - 在 Google 工作表中使用 REGEXMATCH 过滤以过滤掉单元格中包含的文本

java - 从十进制字符串中删除前导零

javascript - 从 JavaScript 中的地址中删除邮政编码

ios -\d 和\w 元字符是否包含国际字符?