Apple开发_解决RegexKitLite导入报错问题

1、RegexKitLite是什么?

  • RegexKitLite是一个非常方便的处理正则表达式的第三方类库。
  • 本身只有一个RegexKitLite.h和RegexKitLite.m

2、导入RegexKitLite可能会出现什么错误?

  • 2.1 我们在arc的情况下直接导入会报20个错误,错误如下:

    • 我们需要在Build Phases下找到RegexKitLite.m文件,将其设置为-fno-objc-arc,可以解决出现的20个错误。
    • 如下图:
  • 2.2 还有一种错误情况,如下图:

    • 解决方法:
    • 在项目的编译设置中找到Other Linker Flags,然后在后面字段空白处双击,添加“-licucore”就可以了。
    • 如下图:

3、RegexKitLite如何使用?

  • 场景一:从某一个字符传中提取符合正则表达式的子字符串。
  • 我们现在假设提取下面字符串中的id=XXXXXXXX
NSString *str1 = @"http://h5.m.taobao.com/awp/core/detail.htm?id=527539084651&ali_trackid=2:mm_112790547_13020914_51016796:1457951254_264_127060785&pvid=50_124.90.181.28_427_1457951214964&e=WybQvfUPKUpw4vFB6t2Z2ueEDrYVVa64LKpWJ-in0XJRAdhuF14FMeS3otDffgY_J1gyddu7kN9gFrpfAfQEfI1vq2orw8pUjrDrPJpGNddU1KzySiK2r0EdWLwsh8FTT-iWs8bZ2Y7C0kf_oMAuHMXyFn1X9GbY40_B2z3Il4fr7hthXoIw_RgPirNhABK1UveWd6VbhEwwPrn00QwN2w&type=2&tkFlag=0";
NSString *regex = @"id=\\d{12}";
NSString *subStr =  [str1 stringByMatching:regex];
posted @ 2018-12-04 20:53  CH520  阅读(247)  评论(0编辑  收藏  举报