2017-01-04 57 views
-3
line = 'Index  : 1080     IP Addr  : X.X.X.X' 

發現如果'Index'':'出現在這條線。請執行以下操作 - 'Index+\s+\:' in line正則表達式蟒蛇 - 試圖找到與空間特定字符的行

上述正則表達式中的錯誤是什麼?它返回一個錯誤的

+1

顯示你的代碼不只是你的正則表達式。 –

+0

歡迎來到Stack Overflow!您可以先參加[tour](http://stackoverflow.com/tour)並學習[如何提出一個好問題](http://stackoverflow.com/help/how-to-ask)並創建一個[最小,完整和可驗證](http://stackoverflow.com/help/mcve)示例。我們會更容易幫助你。 – MrLeeh

+1

我發現https://regex101.com/很有用。 – jonrsharpe

回答

0

你的正則表達式給定行相匹配:

>>> 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

我認爲你的意思是'*'而不是'?'爲0或更多:p – moogle

+0

@moogle:是的。感謝您的更正。 –