NSPredicateでの正規表現について。その2
2015 年 8 月 13 日
コメント 5 件
NSPredicateでの正規表現について。 » サイキョウライン
自分の理解では万策尽きてしまったので、どなたか教えてください。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self matches '.*\\\\D+?.*'"];
NSLog(@"%d", [predicate evaluateWithObject:@"1234567"]); //=> 0
NSLog(@"%d", [predicate evaluateWithObject:@"#12345"]); //=> 1
NSLog(@"%d", [predicate evaluateWithObject:@"あいうえお"]); //=> 1
NSLog(@"%d", [predicate evaluateWithObject:@"1234A56"]); //=> 1
NSLog(@"%d", [predicate evaluateWithObject:@"1234567"]); //=> 0
某所で指摘していただいて「\\\\D+」→「.*\\\\D+?.*」として解決できそうだったのですが、新たな問題が。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self matches '.*\\\\D+?.*'"];
NSLog(@"%d", [predicate evaluateWithObject:@"1234567"]); //=> 0
NSLog(@"%d", [predicate evaluateWithObject:@"1234567"]); //=> 0
え?なんなの?¥dと¥Dは全角半角関係ないの?どこ仕様?それどこ仕様よ?
カテゴリー: iOS