次の正規表現を使用しようとしています。Regexでエスケープされる文字
^(?=.{8,16}$)(([a-zA-Z0-9])\\2?(?!\\2))(?=(.*[a-zA-Z]){1,})(?=(.*[\\d]){1,})|(?=(.*[\\W])(?=(.*[[]{}()<>.,;:\'\")){1,}])(?!.*\\s).{8,16}$
しかし、NSInternalInconsistencyException
エラーが発生します。
理由:「正規表現マッチングを行うことはできません、理由:オープンできないパターンU_REGEX_MISSING_CLOSE_BRACKET(文字列AA、パターン^(= {8,16} $)(([-ZA-Z0-?。 (1)、(2)、(3)、(8) {?}。}){{!}。* \ s){8} {0} {0} {0} 、16} $、ケース0、キヤノン0「)
私はエスケープする必要があり、文字?
パターンでどのような条件でコードを作成しようとしていますか教えてください。パターンはあなたが思っていることをしないようです。 –
@WiktorStribiżew:_アルファベット、数字、および/またはスペースを含まない特殊文字の組み合わせを含める必要があります。 3つの類似した文字の連続反復はありません。 パスワードはユーザー名と同じであってはなりません。 例username rajsinghとパスワードはrajsinghです。 登録中にエラーが発生するはずです。 しかし、ユーザ名rajsinghとパスワードはRAJSINGHが有効なエントリです._ –
パスワードをユーザ名*と同じにするべきではないかと疑いがあります。パターンに変数を指定する必要があります。ユーザー名に特殊文字を含めることができる場合は、その文字をエスケープする必要があります。 (a-zA-Z)*([a-zA-Z]))は、 (?= \\ D * \\ d)(?=。* [\\ [\\] {}()<>、;: '\ "])\\ S {8,16} $" '変数として来る文字列を禁止するには、 ''(?! "+ old_user_name +" $ ")を'^'の後に追加してください(エスケープする必要があります)。 –