2016-03-21 12 views
-1

Ich habe eine Zeichenfolge etwas ähnliches.Fügen und vernachlässigen Sie den Text zwischen 2 Sonderzeichen

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

Ich will alles zwischen < aufzunehmen und > und lehnen alles zwischen </ und >.

Ich habe versucht, den Text zwischen diesen Sonderzeichen mit dem folgenden Code einzuschließen und abzulehnen. Aber ich kann die Ausgabe nicht erreichen. Hilf mir, diese Situation zu knacken.

Code:

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

Read [diese] (http: //stackoverflow.com/a/1732454/ 2276527) – Gogo

Antwort

0

Nach regulärer Ausdruck werden die Daten zwischen < und > zurück:

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

Ausgang:

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

Vielen Dank :) –

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"'] 
Verwandte Themen