2017-10-11 4 views
0

Outwitハブを使ってairwars.orgにこのページをスクラップしています。RegExの1行で異なる日付フォーマットを掻き集める

私はすべての日付をこすりしたいと思いますが、それらは異なるフォーマットしている:

  • 2017年9月4日
  • 9月5日 - 6日2017
  • 9月6日 - 7日2017
  • 9月8日/ 9th 2017

最初のものはSeptember \d+[a-z]+ 2017ですが、それらをすべてRegExの1行でどのようにターゲティングしますか?

+0

を私が決定的にこれを言うことはできませんが、私はあなたには、いくつかの文字列を行う必要があると思いますこれを解決するためにプログラミング言語で解析します。たとえば、8/9日は2つの異なる日です。私はこれを別の日付のインスタンスに分割する必要があると思います。 – ThisClark

答えて

1

、あなたはこのようなパターン使用することができ、あなただけの9月とこれらの日付を一致させたいと仮定すると:あなたはすべての月を一致させたい場合は、その後、あなたは

を使用することができ、しかし

September \d+th.*?2017 

(?:January|...|December) \d+th.*?2017 

.*?を使用すると、元のデータによってはパターンが間違っている可能性があります。September 4th something in 2017などの文字列と一致することに注意してください。だから、

は、あなたは、この他のパタ​​ーンを使用することができます投稿、特定のデータ・フォーマットのために:私はめったに元の正規表現式を記述しないため

September \d+th(?:\s?[–\/-]\s?\d+th)?\s*2017 
関連する問題