そこで、Python スクリプトで、「1991 年 1 月 26 日」という形式の日付を含むテキスト ファイルを開きます。
これが私の正規表現です:
pattern = """
(?:(September|April|June|November),\ (0?[1-9]|[12]\d|30),\ ((?:19|20)\d\d))#Months with 30 days
|(?:(January|March|May|July|August|October|December),\ (0?[1-9]|[12]\d|3[01]),\ ((?:19|20)\d\d))#Months with 31 days
|(?:February, (?:(?:(0?[1-9]|1\d|2[0-8]),\ ((?:19|20)\d\d))|(?:(29),\ ((?:(?:19|20)(?:04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))|2000))))#February with 28 days or 29 with a leap year
"""
r = re.compile(pattern, re.VERBOSE)
この正規表現は、うるう年の 2 月 29 日を含む実際の日付と一致する必要があります。
私が抱えている問題は、開いているテキスト ファイルを調べて、一致するすべての日付をリストに入れる方法を考え出すことです。.match、.search、.split などを使用してみましたが、うまくいきませんでした。リストを別のリストと簡単に比較して、両方のリストにあるすべての日付を見つけることができるように、すべての一致を文字列としてリストに入れる方法はありますか? 基本的に私はリストが次のように出てくることを望みます
[「1990 年 1 月 1 日」、「2012 年 2 月 29 日」、「1945 年 12 月 25 日」、...]
また、私が持っている正規表現が正しいかどうか教えてください。別の質問への回答から変更しましたが、テキスト ファイルの日付が一致しているかどうかを確認できないため、正しいかどうかわかりません。