2016-03-21 55 views
-1

我有一個類似於此的字符串。包含並忽略2個特殊字符之間的文本

str1=r'<st-button mode="positive" width="small" can-click="{loadConference}" id="meetingPasswordButton">{{i18n "ok"}}</st-button>'

我想包括<>之間的一切,拒絕</>之間的一切。

我試過用這些代碼包含和拒絕這些特殊字符之間的文本。但我無法獲得輸出。幫助我解決這種情況。

代碼:

import re 
pat = r'(?<=\<).+?(?=\>)' or r'(?<!\</).+?(?!\>)' 

s = r'<st-button mode="positive" width="small" can-click="{loadConference}" id="meetingPasswordButton">{{i18n "ok"}}</st-button>' 


print (re.findall(pat, s)) 
+2

閱讀[此](HTTP: //stackoverflow.com/a/1732454/ 2276527) – Gogo

回答

0

以下正則表達式將<>之間返回數據:

print(re.findall('<((?!/).*?)>', s)) 

輸出:

['st-button mode="positive" width="small" can-click="{loadConference}"id="meetingPasswordButton"'] 
+0

非常感謝:) –

0
>>> import re 
>>> s = r'<st-button mode="positive" width="small" can-click="{loadConference}" id="meetingPasswordButton">{{i18n "ok"}}</st-button>' 
>>> print re.findall(r'<([^\/].*?)>', s) 
['st-button mode="positive" width="small" can-click="{loadConference}" id="meetingPasswordButton"']