17

したがって、これを行うには正規表現ステートメントが必要だと思いますが、まだ客観的なcで正規表現を行う必要はなく、正規表現ステートメントを1年ほど書いていません。

((?=.*[0-9]).{7,1000}) のようにすべきだと思います

これを客観的なC文字列比較に入れ、結果を評価するにはどうすればよいですか?

また、私の正規表現は正しいですか?

4

1 に答える 1

68

正規表現はおそらく機能しますが、別のアプローチがあります。

NSString *str = // some string to check for at least one digit and a length of at least 7
if (str.length >= 7 && [str rangeOfCharacterFromSet:[NSCharacterSet decimalDigitCharacterSet]].location != NSNotFound) {
    // this matches the criteria
}

このコードは、実際には0〜9以上をチェックします。他の言語の数字も処理します。本当に0〜9が必要な場合は、次を置き換えます。

[NSCharacterSet decimalDigitCharacterSet]

と:

[NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
于 2012-10-20T03:23:53.137 に答える