2011-10-22 20 views
2

私は、以下の行から日付を1つのregexで取得しようとしています。以下の文字列の日付と時刻は変更できます。この情報をREGEXする方法はありますか?

My Birthday is: Thu Jan 12 23:59:59 GMT 2012. 

私はこの正規表現

(?<=My Birthday is:).+?(?=\.) 

を使用する場合、それは私にこれを提供します。

Thu Jan 12 23:59:59 GMT 2012 

しかし、私はこれを探しています。..

Thu Jan 12 2012 

私は.NET

+2

このテキストの_generation_を管理している場合は、希望の形式の日付フォーマッタを使用することを検討してください。与えられた文字列を処理しなければならない場合は、2つの部分を正規表現してまとめたり、すでに抽出した文字列を中間から取り除いたりすることができます。 –

+0

ありがとうございましたRay、私はこの日付フォーマッタを "ddd MMM dd HH:mm:ss GMT yyyy"に適用しました。 – Henry

答えて

5

あなたはルックス後にしている正規表現で動作する単一の正規表現ステートメントであることを達成するだろうか

これで、2つのキャプチャされたグループを再構築する必要があります壮観なインデックス。私は.NETを知らないが、それはJavaScriptで次のようになりたい:

text.replace(/(\w{3} \w{3} \d\d) \d\d:\d\d:\d\d \w{3}(\d{4})\.$/, '$1$2') 

あなたが正規表現に変更する必要があります一つのことは、1-9の表示方法に応じて、最初の\d\dです。 1〜9(01〜09ではなく)と表示される場合は、代わりに\d\d?を使用する必要があります。

関連する問題