3

私は Python 2.7 を使用しており、大量の文字列データを持っています。そこから特定のパターンを解析する必要があります。パターンは次のとおりです。

November 5 - December 10
Another example:
September 23 - December 16 

正規表現を使用して、このパターンのデータを検索したいと考えています。これは、文字列の後にスペースが続き、その後に数字が続き、その後に ' - ' が続き、次に再び文字列が続き、次にスペースと数字が続きます!

複雑に聞こえるかもしれませんが、誰か助けてください!

4

1 に答える 1

7

これは非常に簡単な方法で行うことができます。

import re

text = """
November 5 - December 10
September 23 - December 16
"""

matches = re.findall("\w+\s\d+\s\-\s\w+\s\d+", text)
print matches

プリント:

['November 5 - December 10', 'September 23 - December 16']

しかし、これらの単語が単なる月の名前である場合は、単に の代わりに月のリストを指定することで、正規表現を改善できます\w+

months = "|".join(calendar.month_name)[1:]
matches = re.findall("{0}\s\d+\s\-\s{0}\s\d+".format(months), text)
于 2013-08-16T20:10:18.150 に答える