我使用的是Python 2.7,我有很多字符串数据.我需要从中解析出一个特定的模式.模式如下:
November 5 - December 10
Another example:
September 23 - December 16
Run Code Online (Sandbox Code Playgroud)
我想使用正则表达式来查找此模式中的数据.这是一串字符,后跟一个空格,后跟一个数字,后跟一个' - ',然后是一串字符,然后是空格,后跟一个数字!
我知道这听起来很复杂,但有人可以帮助我!
你可以用一种非常简单的方式做到这一点:
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
Run Code Online (Sandbox Code Playgroud)
打印:
['November 5 - December 10', 'September 23 - December 16']
Run Code Online (Sandbox Code Playgroud)
但是,如果这些单词只是月份名称,则可以通过指定月份列表来改进正则表达式,而不仅仅是\w+:
months = "|".join(calendar.month_name)[1:]
matches = re.findall("{0}\s\d+\s\-\s{0}\s\d+".format(months), text)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
125 次 |
| 最近记录: |