我們剛剛開始學習正則表達式,但是當我嘗試使用正則表達式進行搜索時,我無法在字符串中找到任何匹配項。我究竟做錯了什麼?爲什麼我的for-loop不能匹配我定義的任何正則表達式?
我創造了六個獨立的字符串(只是它的樣子),然後連接起來他們爲一個,然後我通過分割字符串的話儘量環和搜索正則表達式的一個,我宣佈
以下,我翻譯了右邊的字符串,只是讓你知道它說了什麼。
myString1 = "Skal vi moetes neste torsdag?" # - Shall we meet next Thursday
myString2 = "Hva med aa heller moetes mandag?" # - How about Monday
myString3 = "Hvordan gikk moetet forrige mandag?" # - How did the meeting on monday go?
myString4 = "Det gikk bra, vi skal moetes igjen tirsdag onsdag fredag lørdag søndag 13. september." # - It went well, we are meeting again on Sunday September 13th.
myString5 = "Altsaa, 13/09/2014?"
myString6 = "Ja, Sunday 13. september 2014." # - Yes, Sunday, September 13th 2014
myStringAll = (myString1 + myString2 + myString3 + myString4 + myString5 + myString6)
myWords = myStringAll.split()
regWeekDays = re.compile(r'^(man|tirs|ons|tors|fre|lør|søn)dag$', re.IGNORECASE)
regNextLast = re.compile(r'^[neste].$', re.IGNORECASE)
regDay = re.compile(r'^([0-2][0-9]|3[0-1])$')
regYear = re.compile(r'^([1-2][0-9][0-9][0-9])$')
for words in myWords:
matches = re.findall(regNextLast, words)
if matches:
print words
'r'^ [neste]。$''的意思是匹配任何字符'n','e','s','t'後跟另一個字符。我認爲你還沒有真正理解正則表達式。 – arocks
小心:您正在定義源中的字節字符串,並未指定編碼。如果您從文件加載字符串,您還將加載編碼的字節字符串,並且不能保證正則表達式將在同一編解碼器中包含字節。改用Unicode值;請參閱http://docs.python.org/2/howto/unicode.html。聲明您的源代碼編解碼器,使用unicode值並解碼文件內容。 –