2013-02-20 147 views
-1

爲什麼不能正常工作?Python正則表達式不能正常工作

re.match(r".*hello.*", "\n\nhello\n\n", re.MULTILINE) 

請幫忙嗎?

Windows 7的64位 的Python 2.7.3

+0

你想讓它匹配什麼? – mgilson 2013-02-20 13:32:13

+0

我試圖匹配「你好」 - 這是一個簡單的例子,我真的想要做的事情(匹配文本文件中的單行內的文本,而不是遍歷每行) – 2013-02-20 13:33:07

+0

你正在運行這個事實在Windows上與這個問題無關。處理文件系統時存在差異,如果使用'\'目錄分隔符,則與其他環境存在差異。 – jsbueno 2013-02-20 13:35:32

回答

6

您正在尋找re.DOTALL代替:

re.match(r".*hello.*", "\n\nhello\n\n", re.DOTALL) 

引用文檔:

充分利用'.'特殊的任何字符都匹配,包括換行符;沒有此標誌,'.'將匹配除換行符之外的任何內容。

re.MULTILINE變造其中^$匹配,而不是.點模式相匹配的內容。

+0

是的,這是我打算建議OP嘗試。 – mgilson 2013-02-20 13:33:02

+0

啊哈!謝謝一堆! – 2013-02-20 13:33:33