给出像这样的字符串属性“Red Globe 21#Bag SO2 SF White 5L Styro A”
我需要匹配“Red Globe 21#”(或|和)“Bag”(或|和)“SO2”(或|和)“SF White”。
按照dasblinkenlight NSPredicate Exact Match with String发布的样本
我试图弄清楚这个RegEx的正确组合
NSString *str = @"Globe";
NSMutableString *arg = [NSMutableString string];
[arg appendString:@"\\s*\\b"];
[arg appendString:str];
[arg appendString:@"\\b\\s*\\w*"];
NSPredicate *p = [NSPredicate predicateWithFormat:@"SELF matches[c] %@", arg];
NSArray *a = [NSArray arrayWithObjects:@"Red Globe 21# Bag SO2 SF White 5L Styro A ", @"test", @"Test", @"TEST", nil];
NSArray *b = [a filteredArrayUsingPredicate:p];
NSLog(@"Result ;%@",b);`
但这对我没有用,我将非常感谢你的帮助。
答案 0 :(得分:0)
如果我明白你的意思,我不确定你认为正则表达式能为你做些什么。
你有一些不同的确切字符串。您希望能够选择这些字符串的子集,并匹配该子集中包含字符串的每个元素,对吗?
所以,你只需要和一起确切的子串匹配:"SELF contains %@ && SELF contains %@"
。