line = 'Index : 1080 IP Addr : X.X.X.X'
發現如果'Index'
與':'
出現在這條線。請執行以下操作 - 'Index+\s+\:'
in line正則表達式蟒蛇 - 試圖找到與空間特定字符的行
上述正則表達式中的錯誤是什麼?它返回一個錯誤的
line = 'Index : 1080 IP Addr : X.X.X.X'
發現如果'Index'
與':'
出現在這條線。請執行以下操作 - 'Index+\s+\:'
in line正則表達式蟒蛇 - 試圖找到與空間特定字符的行
上述正則表達式中的錯誤是什麼?它返回一個錯誤的
你的正則表達式給定行相匹配:
>>> import re
>>> line = 'Index : 1080 IP Addr : X.X.X.X'
>>> re.match(r'Index+\s+:', line)
<_sre.SRE_Match object at 0x022DE758>
然而,+
在'Index'
的'x'
後,意味着你也將匹配'Indexxxxxx :'
。 \s
之後的+
表示需要至少有一個空格。如果要匹配零個或多個空格,請將+
更改爲*
。
請注意,我使用的re.match()
只能匹配字符串的開頭。如果您的匹配可能發生在字符串中的任何位置,請改用re.search()
。
我認爲你的意思是'*'而不是'?'爲0或更多:p – moogle
@moogle:是的。感謝您的更正。 –
顯示你的代碼不只是你的正則表達式。 –
歡迎來到Stack Overflow!您可以先參加[tour](http://stackoverflow.com/tour)並學習[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)並創建一個[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例。我們會更容易幫助你。 – MrLeeh
我發現https://regex101.com/很有用。 – jonrsharpe