Frage

Kann jemand bitte helfen Sie mir bei der Verwendung von Regex mit NSPredicate?

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

Testen der oben wth mystring - qstring123 scheint nicht zu arbeiten. Ich erwarte, dass es die, wenn die Bedingung eintreten, weil es sollte angeblich die Regex übereinstimmen.

Außerdem brauche ich einen regulären Ausdruck für Alpha Numberic Komma und Leerzeichen erlaubt.

wird diese Arbeit?

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

Bitte Hilfe.

War es hilfreich?

Lösung

Aus meinen Experimenten, es versucht, die regex gegen die gesamte Zeichenfolge zu entsprechen, und wird in einem String nicht überein.

Daher sind die regex [a-zA-Z0-9]+ funktioniert, aber [a-zA-Z0-9] nicht.

Mit den im Verstand, Sie können Ihr komma passendes Prädikat zu überarbeiten, oder verwenden Sie eine voll funktionsfähige regex Lösung, wie die erstaunlich genial RegexKit und RegexKitLite .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top