2017-11-17 78 views
0

有沒有人有一個想法,爲什麼一個正則表達式的代碼,完美的作品找到 shutil.move(),如果我在添加CARRET和美元符號未發現任何正則表達式代碼的開始和結束?Python3:與CARRET或美元符號的正則表達式的代碼不匹配任何

exampleRegex = re.compile (r'(shutil[.])(.*)(\)\s)') --> finds all shutil functions 

exampleRegex = re.compile (r'^(shutil[.])(.*)(\)\s)$') --> doesn't find anything 

謝謝!

+1

你也可以在這裏分享你正在測試這些正則表達式的字符串嗎?這將有助於:) – Adriano

+0

[無法重現](https://stackoverflow.com/help/mcve)。我可以建議的唯一的事情是,你使用的是一個包含超過'shutil \ .'的字符串,後面跟着任何東西,然後是')'(最後的空格可以是任何空格字符)。你確定你的琴絃和你描述的一樣嗎?另外,假設這是一個多行文件/輸入,你是否啓用了多行'm'修飾符?除了這些建議之外,如果沒有實際的投入,我們無法提供任何進一步的幫助。 – ctwheels

+0

您是否嘗試過使用常規字符串並將反斜槓加倍? – user1459519

回答

0

因爲您的字符串可能不僅僅是shutil.move()

我建議你閱讀正則表達式以及它們是如何工作的。這裏是一個體面的地方開始https://github.com/zeeshanu/learn-regex/blob/master/README.md

+0

定義我差異https://docs.python.org/3.6/library/re.html – user1459519

+1

我的意思是說我相信Python reqex有它自己的怪癖。您可能需要參考https://docs.python.org/3.6/library/re.html上的權威正規表達式文檔。該頁面左上方的小部件將允許您更改爲您正在使用的特定版本(2.x,3.x)。 – user1459519

相關問題