//1.目标:取出href中的链接,以及客户端类型
let string = " XXX<a href=\"https://www.jianshu.com/u/27c93621fbf5\" Bobo_Ma的简书>iPhoneX客户端</a>XXX"
//2.创建正则表达式 注意引号需要使用“\”转义
//0> pattern - 常说的正则表达式,就是pattern的写法 【匹配方案】
//索引:
//0:和匹配方案完全一致的字符串
//1:第一个()中的内容
//2:第二个()中的内容
//...索引从左向右顺序递增
//对于模糊匹配
//如果关心的内容,就使用 (.*?) 然后通过索引可以获取结果
//如果不关心的内容,就使用 .*? 可以匹配任意的内容
let pattern = "<a href=\"(.*?)\".*?>(.*?)"
//1>创建正则表达式,如果pattern失败,抛出异常
guard let regx =try? NSRegularExpression.init(pattern: pattern, options: []) else {return }
//2>进行查找,两种查找方法
//[只找第一个匹配项/查找多个匹配项]
guard let result = regx.firstMatch(in: string, options: [], range:NSRange.init(location:0, length: string.characters.count))else{
print("没有查到匹配项")
return }
//result 中只有两个重要方法
//result.numberOfRanger -> 查找到的范围数量
//result.range(at:idx)->指定‘索引’位置的范围
print("找到的数量\(result.numberOfRanges)")
for idx in 0..<result.numberOfRanges
let r = result.range(at:idx)
let subStr = (string as NSString).substring(with:r)
print("\(idx) - \(subStr)")
}










网友评论