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

2-42 dd形式の日(1から31)を検索

正規表現パズル

行頭から行末までが
dd形式の日(01から31)
の行を検索する。
前ゼロの省略は、許可します。

検索前


検索後


対象データ

30
31
32
20
21
25
12
123
345
4
44
0
1
01
10
9
09


正規表現

^(0[1-9]|[1-9]|[12][0-9]|3[01])$

別解1

^(0?[1-9]|[12][0-9]|3[01])$


別解2

^(31|[123]0|[012]?[1-9])$

別解3

^(0[1-9]|[12][0-9]?|3[01]?|[4-9])$

別解4

^([12][0-9]|3[01]|0?[1-9])$


解説

最初に、大雑把に場合分けをしてから、
少しずつ正規表現を変形するといいでしょう。