いまさらながらに正規表現を勉強したのでまとめてみた。
なお、サンプル作製にあたり、以下のサイトを参考にした。
といっても、トライアンドエラーの試行錯誤が必要だったけど・・・・
正規表現サンプル集
http://hodade.adam.ne.jp/seiki/
カッコに囲まれた値の検索(すべての文字)
\(.+?\)
検索結果: ○ (1234) ○ (abcd) ○ ( 1234 ) ○ ( 12 34 ) ○ ( abcd ) ○ ( ああああ )
カッコに囲まれた値の検索(半角数字)
\(\d+?\)
検索結果: ○ (1234) × (abcd) × ( 1234 ) × ( 12 34 ) × ( abcd ) × ( ああああ )
カッコに囲まれた値の検索(半角数字のみ+スペース含む)
\([\s\d]+?\)
検索結果: ○ (1234) × (abcd) ○ ( 1234 ) ○ ( 12 34 ) × ( abcd ) × ( ああああ )
日付の検索
\d{4}[-/._]\d{1,2}[-/._]\d{1,2}
検索結果: ○ 2011/01/01 ○ 2011/1/1 × 2011 / 01 / 01 × 2011 / 1 / 1 ○ 2011-01-01 ○ 2011-1-1 × 2011 - 01 - 01 × 2011 - 1 - 1 ○ 2011.01.01 ○ 2011.1.1 × 2011 . 01 . 01 × 2011 . 1 . 1 ○ 2011_01_01 ○ 2011_1_1 × 2011 _ 01 _ 01 × 2011 _ 1 _ 1 × 2011//01/01 × 2011--01-01 × 2011..01.01 × 11/01/01
時間の検索(欠点あり)
[\s]([0-9]|[0-1][0-9]|[2][0-3])(:|-|\.)([0-9]|[0-5][0-9])(:|-|\.)([0-9]|[0-5][0-9])[\s]
※時間文字列の前に空白スペースが入ってしまう。
検索結果: ○ 2011/01/01 11:11:11 ○ 2011-01-01 11-11-11 ○ 2011.01.01 11.11.11 × 2011/01/01 11 11 11 ○ 2011/01/01 21:11:11 × 2011/01/01 25:11:11 ○ 2011/01/01 01:01:01 ○ 2011/01/01 0:0:0 ○ 2011/01/01 1:1:7 ○ 2011/01/01 1:1:7 ←最終文字が半角空白 × 2011/01/01 1:1:70 ○ 2011/01/01 23:59:59 ○ 2011/01/01 00:00:00
時間の検索(欠点あり)
\d{1,2}?(:|-|\.)\d{1,2}(:|-|\.)\d{1,2}
※「△」の文字列は日付部分もマッチしてしまう。
検索結果: ○ 2011/01/01 11:11:11 △ 2011-01-01 11-11-11 △ 2011.01.01 11.11.11 × 2011/01/01 11 11 11 ○ 2011/01/01 21:11:11 ○ 2011/01/01 25:11:11 ○ 2011/01/01 01:01:01 ○ 2011/01/01 0:0:0 ○ 2011/01/01 1:1:7 ○ 2011/01/01 1:1:7 ←最終文字が半角空白 ○ 2011/01/01 1:1:70 ○ 2011/01/01 23:59:59 ○ 2011/01/01 00:00:00