アルゴリズムとプログラミング
正規表現のパターン `^[a-zA-Z][a-zA-Z0-9_]{2,9}$` にマッチする文字列として正しいものはどれか。
ア.1abc(先頭が数字)
イ.ab(全体が3文字未満)
ウ.User_123(8文字、先頭が英字、以降が英数字・アンダースコア)正解
エ.abcdefghijk(11文字で上限オーバー)
解説
正規表現は「文字列の設計図」。`^`はスタート地点、`$`はゴール地点。`[a-zA-Z]`は英字1文字のゲート、`{2,9}`はその後の文字数のルール。パターンを読み解けばどの文字列が通過できるか一目でわかる。
なぜ ウ が正解か
パターン分解: `^`=文字列の先頭、`[a-zA-Z]`=英字(大文字・小文字)1文字、`[a-zA-Z0-9_]{2,9}`=英数字またはアンダースコアが2〜9文字、`$`=文字列の末尾。つまり「先頭が英字1文字、続いて英数字かアンダースコアが2〜9文字、合計3〜10文字」がマッチ条件。`User_123`は先頭U(英字)+ser_123(英数字・アンダースコア7文字)=合計8文字でマッチする。
出典: AI生成問題(学習用)