Próbuję rozróżnić 2 pliki (w formacie NSString). O ile mi wiadomo, można to zrobić, porównując i dopasowując wyrażenie regularne. Format tych 2 plików jpg, które mam są:Dopasowywanie wyrażenia regularnego z ciągiem znaków (nazwa pliku)
butter.jpg
masło-1.jpg
Moje pytanie brzmi, co wyrażenie regularne można napisać, aby dopasować 2 ciągi powyżej? Szukałem i znalazłem przykładowe wyrażenie, ale nie jestem pewien, jak jest czytane i uważam, że jest błędne.
Oto mój kod:
NSString *exampleFileName = [NSString stringWithFormat:@"butter-1.jpg"];
NSString *regEx = @".*l{2,}.*";
NSPredicate *regExTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regEx];
if ([regExTest evaluateWithObject:exampleFileName] == YES) {
NSLog(@"Match!");
} else {
NSLog(@"No match!");
}
EDIT:
Próbowałem przy użyciu następujących:
NSString *regEx = @"[a-z]+-[0-9]+.+jpg";
spróbować dopasować:
NSString *exampleFileName = [NSString stringWithFormat:@"abcdefg-112323.jpg"];
Testowane z:
ABC-11.jpg (mecz)
abcsdas-.jpg (No match)
abcdefg11. (No Match)
abcdefg-3123.jpg (mecz)
Jak na razie to działa, ale chcę, aby wyeliminować wszelkie szanse, że może nie, każdy wejść?
Musisz wyjaśnić bardziej szczegółowo swoje kryteria dopasowania. Dlaczego nie powiedzieć "[exampleFileName hasPrefix: @" butter "] && [exampleFileName hasSuffix: @". Jpg "]'? –
Cześć, przepraszam za to. Moje kryteria to to, że .jpg musi być tam, gdzie masło może być czymkolwiek, o ile jest alfabetem. Jednak myślnik i cyfra muszą tam być. – Dawson