2010-03-16 10 views
11

Kann mir bitte jemand helfen Regex mit NSPredicate zu verwenden?NSPredate und Regex

Testen der obigen wth Mystring - qstring123 scheint nicht zu funktionieren. Ich erwarte, dass es in die if-Bedingung eintritt, weil es angeblich mit der Regex übereinstimmen sollte.

Außerdem brauche ich eine Regex für Alpha-Nummern, Kommas und Leerzeichen zulässig.

wird das funktionieren?

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

Bitte helfen Sie.

Antwort

8

Bei meinen Versuchen versucht es, die Regex mit der gesamten Zeichenfolge abzugleichen und passt nicht in eine Zeichenfolge.

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

In diesem Sinne möchten Sie vielleicht Ihr Komma-Matching-Prädikat überarbeiten, oder verwenden Sie eine umfassendere Regex-Lösung, wie die erstaunlich tolle RegexKit and RegexKitLite.

+0

duh 'ich verpasste das + am Ende. Ich habe tatsächlich * benutzt und es hat funktioniert. Was ist der Unterschied? – Dave

+2

'*' entspricht 0 oder mehrmals, '+' entspricht 1 oder mehrmals. –