swift3.0之正则表达式

如果通过Alamofire抓取到了一个html页面, 想从页面里,找到某组数字的最大值,可以通过正则表达式,找到所有数字,然后对比.


var baseurl = "http://www.xxx.com/book/"
var html = "1"

Alamofire.request(baseurl).responseJSON { response in
         if   let data = response.data,  let utf8Text = String(data: data, encoding: .utf8) {
                print("Data: \(utf8Text)") // original server data as UTF8 string

  //下面的匹配表达式里,book后面的6位数字,就是我想找的数字
  do {
       
         let r = "target=\"_blank\" href=\"http://www.xxx.com/book[0-9]{6}"

         let regex = try NSRegularExpression(pattern: r, options: NSRegularExpression.Options.caseInsensitive)
         //utf8Text即是html页面的data                           
         let res  = regex.matches(in: utf8Text, options: NSRegularExpression.MatchingOptions(rawValue:0), range: NSMakeRange(0, utf8Text.characters.count))

          //(utf8Text as NSString).substring(with: checkingRes.range) 是通过匹配模式匹配到的所有字符串. 通过字符串截取,取得最后的6位数字   
          for checkingRes in res {               
                print(((utf8Text as NSString).substring(with: checkingRes.range) as NSString).substring(from: 47))
          }

      }catch {
          print(error)
      }
                
   }
 }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 16,514评论 4 61
  • 初衷:看了很多视频、文章,最后却通通忘记了,别人的知识依旧是别人的,自己却什么都没获得。此系列文章旨在加深自己的印...
    DCbryant阅读 4,311评论 0 20
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 137,088评论 19 139
  • 若家是圆心 那游子的脚步便是半径 离家愈远 乡愁的轨迹无端消瘦 若母亲是那圆心 娇小的身壳被夕阳照亮 日子越久 思...
    君凉阅读 813评论 28 51
  • dì zǐ guī 弟 子 规 zǒng xù 【总 叙】 dì zǐ guī shèng rén xùn s...
    赵万龙阅读 3,436评论 0 0

友情链接更多精彩内容