NSPredicate и Regex

Кто-то может помочь мне с использованием Regex с NSPredicate?

NSString *regex = @"(?:[A-Za-z0-9])";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([pred evaluateWithObject:mystring])
{
  //do something
}

при тестировании вышеупомянутого wth mystring - qstring123, кажется, не работает. Я ожидаю, что это войдет, если условие, потому что это, предположительно, должно соответствовать regex.

Кроме того, мне нужен regex для альфы numberic разрешение запятых и пробелов.

это будет работать?

@"(?:[A-Za-z0-9])*(?:,[A-sa-z0-9)*(?:\s[A-sa-s0-9])"

Помогите.

11
задан brynbodayle 27 September 2013 в 21:51
поделиться

1 ответ

По моим экспериментам, он пытается сопоставить regex со всей строкой и не сопоставляет внутри строки.

Таким образом, regex [a-zA-Z0-9]+ работает, а [a-zA-Z0-9] - нет.

Учитывая это, вы можете переделать свой предикат, сочетающий запятые, или использовать более полнофункциональное решение для регекса, например, потрясающие RegexKit и RegexKitLite.

8
ответ дан 3 December 2019 в 10:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: