1

グループを使用して正規表現で日付を解析しようとしていますが、python は空のリストを返しています。私は派手なことをしているわけではありません。ただし、12/25-10を拒否してほしいです。

date = re.compile("\d{1,2}([/.-])\d{1,2}\1\d{2}")

オンラインの正規表現ライブラリを試してみましたが、それらのソリューションも実行されていないようです。何か案は?

入力例: 「こんにちは、今日は 10/18/10 で、時刻は午前 10:50 です」 希望の出力: 「10/18/10」

私はPython 2.5を実行しています。

4

3 に答える 3

5

生の文字列を使用します。

date = re.compile(r"\d{1,2}([/.-])\d{1,2}\1\d{2}")

それ以外の場合、\1文字列リテラルの は文字 1 (見出しの開始) として解釈されます。

編集:日付コンポーネントのグループを追加するには、次を使用します。

re.compile(r"(\d{1,2})([/.-])(\d{1,2})\2(\d{2})")
于 2010-10-17T04:06:24.377 に答える
5

Python の組み込みstrptimeを使用する必要があります。

于 2010-10-17T04:09:31.283 に答える
2

間違いなくやり過ぎですが、「parsedatetime」ライブラリは私のために働いています: http://code.google.com/p/parsedatetime/

内部で正規表現を使用しますが、MM/DD/YY 形式を解析する以上のことを行います。

于 2010-10-17T04:08:14.057 に答える