Closed. This question is off-topic. It is not currently accepting answers. Learn more
想改进这个问题吗Update the question所以堆栈溢出的值小于aa>。
我使用的是Python2.7,我有大量的字符串数据。我需要从中分析出一个特定的模式。模式如下:

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

我想使用正则表达式来查找此模式中的数据这是一个字符串,后跟一个空格,后跟一个数字,后跟一个“-”,然后是一个字符串,然后是一个空格,最后是一个数字!
我知道这听起来很复杂,但有人能帮我吗?

最佳答案

你可以用一种非常简单的方式:

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+,来改进regexp:
months = "|".join(calendar.month_name)[1:]
matches = re.findall("{0}\s\d+\s\-\s{0}\s\d+".format(months), text)

09-16 08:49