喜的overflowers,NSPredicate使用正則表達式捕獲總是得到0結果
我抓我的頭周圍放置一個regular expression
的NSPredicate
內。
我想將我們的所有縮略圖從Documents目錄移動到Caches目錄並捕獲em'all我創建了這個正則表達式:_thumb(@[2-3]x)?\.jpg
。
Here on regex101.com你可以看到上面的正則表達式與這個測試數據的工作:
grwior_thumb.jpg <- match
grwior.jpg
[email protected] <- match
vuoetrjrt.jpg
hafiruwhf_thumb.jpg <- match
[email protected] <- match
[email protected] <- match
hafiruwhf.jpg
但是,當我把它的代碼,它不匹配任何東西:
NSError *error = nil;
NSFileManager *fileManager = [NSFileManager defaultManager];
// Find and move thumbs to the caches folder
NSArray<NSString *> *mediaFilesArray = [fileManager contentsOfDirectoryAtPath:documentsPath error:&error];
NSString *regex = @"_thumb(@[2-3]x)?\\.jpg";
NSPredicate *thumbPredicate = [NSPredicate predicateWithFormat: @"SELF ENDSWITH %@", regex];
NSArray<NSString *> *thumbFileArray = [mediaFilesArray filteredArrayUsingPredicate:thumbPredicate];
thumbFileArray
一向0元素。 ..
我在做什麼錯?
加上'*'的模式,'@的開始。 「* _拇指(@ [2-3]×)?\\。JPG」 '。 –
另請注意,'ENDSWITH'只是不支持「支持」正則表達式模式。請參閱下面的擴展答案。 –