GitHubのパスワードの正規表現を書くのだ!


タイトルの通りなのだ!

そのままのやつを見つけられなかったから書くのだ。正規表現苦手なのだ!
GitHubのトップページのパスワードフォームに適当に入力すると以下のメッセージが出てくるのだ。

Make sure it's at least 15 characters OR at least 8 characters including a number and a lowercase letter. Learn more.

訳すとこうなのだ! (自信ないからDeepL使ったのだ)

15文字以上、または数字と小文字を含む8文字以上であることを確認してください。詳細はこちらをご覧ください。

これを正規表現にするのだ!
15文字以上の文字列は簡単そうなのだ

15文字以上の文字列
/.{15,}/

これで良いはずなのだ。けど15文字以上の文字列って言ったときに^$をつけるべきなのかはアライさんにはわかんないのだ。。
次に数字と小文字を含む8文字以上の文字列なのだ

数字と小文字を含む8文字以上の文字列
/(?=.*\d)(?=.*[a-z]).{8,}/

?=は肯定先読みなのだ。でも手前に何もないのだ。丸括弧があるからcapturing groupの気がしたけど/(?=.*\d)/.execしたらここはキャプチャしてなかったのだ!
文字列中に[0-9][a-z]があって、8文字以上ならvalidになるのだ。

組み合わせるのだ!

パイプで良いと思うのだ。

15文字以上、または数字と小文字を含む8文字以上の文字列
/.{15,}|(?=.*\d)(?=.*[a-z]).{8,}/

Regexperに入力してみたら良さそうだったのだ!
https://regexper.com/#%2F.%7B15%2C%7D%7C%28%3F%3D.*%5Cd%29%28%3F%3D.*%5Ba-z%5D%29.%7B8%2C%7D%2F

おわりなのだ

変なとこやもっと良い書き方があったら教えてくれると嬉しいのだ!

参考にしたページなのだ

Creating a strong password
Regex for password validation
こんどこそわかる(肯|否)定(先|後)読み
正規表現での、OR(いずれか、または)の表現方法