C#で正規表現を使用して以下の形式を確認する方法..助けてもらえますか..
Today's Date: 03:30 AM ET, 02/15/2013
以下の形式を使用しましたが、機能しません..
@"^ Today's Date: (\d{2})(\:)(\d{2})$ AM ET, ^(0[1-9]|[12][0-9]|3[01])[- /.](0[1-9]|1[012])[- /.](19|20)\d\d$"
正規表現には3つの問題があるようです。
^
とT
の間に主要なスペースがあります$
と表現の^
途中はそこにあるべきではありません(0[1-9]|[12][0-9]|3[01])
01から31に(0[1-9]|1[012])
一致し、01から12に一致します
修正されたパターンを作成する:
^Today's Date: (\d{2})(\:)(\d{2}) AM ET, (0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])[- /.](19|20)\d\d$
しかし、Rahul R.がコメントで述べているように、適切な日付解析方法を使用するのがおそらく道のりです。
これを使って:
^Today's Date: ([01][0-9]|[2[0-3]):([0-5][0-9]) [AP]M ET, ((0[1-9]|[12][0-9]|3[01])/(?=(0[13578]|1[02]))(0[13578]|1[02])|(0[1-9]|[12][0-9]|30)/(?=(0[469]|11))(0[469]|11)|(0[1-9]|[12][0-9])/(?=(02))(02))/(0{3}[1-9]|((?!0{3}\d)\d{4}))$