正規表現のリクエストには、次のように使用します。
^(?=.{6,}$)(?=.*?\d)(?=.*?[!@#$%&*()+_=?\^-]).*
そして、ここでそれはあなたのために展開されます:
^ // Anchor the beginning of the string (password).
(?=.{6,}$) // Look ahead: Six or more characters, then the end of the string.
(?=.*?\d) // Look ahead: Anything, then a single digit.
(?=.*?[!@#$%&*()+_=?\^-]) // Look ahead: Anything, and a special character.
.* // Passes our look aheads, let's consume the entire string.
ご覧のとおり、特殊文字には予約済みの省略表記(、、など)がないため、特殊文字を明示的に定義する必要が\w
あり\s
ます\d
。受け入れられたものは次のとおりです(必要に応じて変更できます)。
!, @, #, $, %, ^, &, *, (, ), -, +, _, =, ?
正規表現の先読みを理解するための鍵は、正規表現がパーサーの位置を動かさないことを覚えておくことです。(?=...)
これは、最後のパターンマッチの後に最初の文字を見始めることを意味し、その後の(?=...)
先読みも同様です。