RegexKitLite是什麼? RegexKitLite是一個非常方便的處理正則表達式的第三方類庫。 本身只有一個RegexKitLite.h和RegexKitLite.m 導入RegexKitLite可能會出現什麼錯誤? 我們在arc的情況下直接導入會報20個錯誤,錯誤如下: 我們需要在Buil ...
RegexKitLite是什麼?
RegexKitLite是一個非常方便的處理正則表達式的第三方類庫。
本身只有一個RegexKitLite.h和RegexKitLite.m
導入RegexKitLite可能會出現什麼錯誤?
我們在arc的情況下直接導入會報20個錯誤,錯誤如下:
我們需要在Build Phases下找到RegexKitLite.m文件,將其設置為-fno-objc-arc,可以解決出現的20個錯誤。
如下圖:
還有一種錯誤情況,如下圖:
解決方法:
在項目的編譯設置中找到Other Linker Flags,然後在後面欄位空白處雙擊,添加“-licucore”就可以了。
如下圖:
RegexKitLite如何使用?
場景一:從某一個字元傳中提取符合正則表達式的子字元串。
我們現在假設提取下麵字元串中的id=XXXXXXXX
1 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"; 2 NSString *regex = @"id=\\d{12}"; 3 NSString *subStr = [str1 stringByMatching:regex]; 4