2012-01-21 9 views
1

非常に不均一なデータを扱っています。Ruby正規表現を使用して解析しています。私は文字列から時間を解析する必要があり、時間を扱っているデータには9-10:30AM、9:30 AM-9:00PM、9-10AMと記載されています。議事録は必ずしもリストアップされているわけではなく、両方の時間が同じであれば、AM/PMはリストされません。Ruby正規表現での解析時間

これらの時間に基づいて正規表現を使ってruby timeオブジェクトを作成しようとしていますが、これらの時間を捉える式を開発するのに問題があります。

これは私が試したものです:私はすべての結果を返すことができていませんでした。これにより

results = rule.scan(/no parking(sanitation broom symbol)(\d+:\d+((a|p)m))-(\d+:\d+((a|p)m)/) 

、私はそれらを書いたような結果が表示されていたにもかかわらず。 \ d +は数値の整数にマッチするために使用され、式にマッチするためにカッコを使用した方法に問題があると思われます。

+0

[Rubular](http://rubular.com/)で問題を見つけることができるかどうか確認するにはどうすればよいですか?角カッコはキャプチャセクションを示し、オプションのセクションは示していないことに注意してください。 RegexpにUTF-8がありますか?入力データは同じエンコーディングですか? – tadman

+1

入力と予想される出力のすべてを与えれば、ずっと簡単になります。 –

+0

解析後にサンプルデータと予想される結果を確認する必要があります。 –

答えて

関連する問題