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];