我正在使用Python 2.7,並且我有很大一部分字符串數據。我需要從中解析出一個特定的模式。模式如下:正則表達式來查找python中的特定模式
November 5 - December 10
Another example:
September 23 - December 16
我想使用正則表達式來查找此模式中的數據。這是一串字符,後跟一個空格,後跟一個數字,後跟一個' - ',然後是一串字符再次,然後是空格後跟一個數字!
我知道這聽起來很複雜,但有人可以幫助我!
我正在使用Python 2.7,並且我有很大一部分字符串數據。我需要從中解析出一個特定的模式。模式如下:正則表達式來查找python中的特定模式
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+
:
months = "|".join(calendar.month_name)[1:]
matches = re.findall("{0}\s\d+\s\-\s{0}\s\d+".format(months), text)
你的輸出結果應該如何? –
你能不能按空格分割並獲取結果列表的元素? – Jerry
它應該看起來像列表中所有具有相同模式的列表中的字符串。 不用空格拆分不起作用 –