Подтвердить что ты не робот

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, похоже, не работает. Я ожидаю, что он войдет в условие if, потому что он предположительно должен соответствовать регулярному выражению.

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

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

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

Пожалуйста, помогите.

4b9b3361

Ответ 1

Из моего эксперимента он пытается сопоставить регулярное выражение со всей строкой и не будет соответствовать внутри строки.

Поэтому регулярное выражение [a-zA-Z0-9]+ работает, но [a-zA-Z0-9] не работает.

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