私は数字と数字だけを含む行を抽出したいデータの配列を持っています。行の例:NSPredicateは数字以外のものを一致させます
15、+2、 ''、7、9、21
は( '' 一つ以上の空白を表します)。この場合
私は唯一の15、7、9、私は次のように述語を使用を抽出したいと思います:
NSString *pattern = @"[^0-9]";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
if (![predicate evaluateWithObject:myStringToMatch])
// Extract ...
私はオンライン正規表現テスターを使用して、私のパターンをテストし、[^ことを発見しました0-9]は0-9の数字以外は何も一致しません。しかし、上記のコードを実行すると、空白と一致するだけで、例えば+2ではなく、私はそれがすべきだと確信しています。明確にするために、myStringToMatchはNSStringオブジェクトです。
なぜ私のパターンにマッチしないのか分かりません。誰かが私が間違っていることにヒントを与えることができますか?
ありがとうございました。
ありがとうございました。私は、正規表現のバリデータの出力を誤って解釈した可能性があります。 ^(〜[0-9])の前と([^ 0-9])の数字の違いを教えてください。 –
'^'は最初のもので、 '$'は* whole * regexの最後の文字としていわゆるアンカーです:http://www.regular-expressions.info/anchors.html。 '[a]'は 'a'を除くすべての文字にマッチするのに対し、 '[a]'は一文字 'a'にマッチします: http://www.regular-expressions.info/charclass.html –
もう一度ありがとうございます。それはそれをクリアした。 –