2017-04-17 29 views
0

我有一個這樣的字符串,如何使用「[」作爲在Python正則表達式的象徵

a = '''hai stackoverflow. <help>//(good evening): value ="[i am new to 'python'], i need help"</help>''' 

從這個字符串,我需要將部分字符串提取<help></help>。 這意味着,我的輸出應該是

<help>//(good evening): value ="[i am new to 'python'], i need help"</help> 

我試圖用這個表達

re.search(r'<help> [\w:=">/-/\[\]]*',a).group() 

,但我得到錯誤的

Traceback (most recent call last): 
    File "<pyshell#467>", line 1, in <module> 
    re.search(r'<help> [\w:=">/-/\[\]]*',a).group() 
AttributeError: 'NoneType' object has no attribute 'group' 
+2

包含您遇到的錯誤。 –

+2

... *什麼*錯誤?你有沒有嘗試使用正則表達式調試器,如http://regex101.com? – jonrsharpe

+1

*我得到錯誤*是一個無用的問題描述,除非你告訴我們你得到了什麼*錯誤*。它在你的屏幕上,就在眼前。絕對沒有任何藉口**,因爲你沒有在你的文章中加入它。 –

回答

2

你得到一個AttributeError因爲re.search回報None ,所以它沒有group()方法。
如果改變這一行:

re.search(r'<help> [\w:=">/-/\[\]]*',a).group() 

這樣:

search_result = re.search(r'<help> [\w:=">/-/\[\]]*',a) 
if search_result : 
    search_result = search_result.group() 

你將擺脫的AttributeError

您可以\轉義字符,但在這種情況下,你可以得到結果要容易得多:

print(re.search('<help>(.*?)</help>', a).group()) 
<help>//(good evening): value ="[i am new to 'python'], i need help"</help> 
+0

Thankyou,這個答案很有幫助。 – sowji

相關問題