トップページに戻る    次の正規表現パズルへ    前の正規表現パズルへ

5-6 文字列のチェックその3

正規表現パズル

・全ての文字がアルファベット
・文字数が奇数
・文字数が6文字以上
・最後の4文字が、同じ文字

の行を検索する

検索前


検索後


対象データ

aaaaa
aaaaaa
aaaaaaa
aaaaaab
abaaa
abcdaaaa
abcdaaaaa
abcdaaaaaa
abcdaaaaab
abcdaabaaa


正規表現

^(?!(?:[a-z]{2})*$)[a-z]{2,}([a-z])\1{3}$

別解1

^(?!(?:[a-z]{2})*$)(?=[a-z]{6})[a-z]*([a-z])\1{3}$

別解2

^(?=[a-z]{6})(?:[a-z]{2})*[a-z]([a-z])\1{3}$


解説

別解1では、
肯定先読みで、
文字数が奇数かのチェックと、文字数のチェックをしてます。

別解2では、
肯定先読みで、文字数をチェックしてます。