2010-03-10 54 views

回答

7

使用rgx = "<([a-zA-Z_0-9]*)>"

關鍵的一點是使用*,在那裏你正在使用+,這意味着「一個或多個」,這意味着,「前面的零個或多個」。

+0

感謝,我學到新的東西 – Alquimista 2010-03-10 04:31:45

+0

@Alquimista,歡迎您! – 2010-03-10 04:46:47

0

無需正則表達式

>>> s="txt ="<lol1><><lol2>" 
>>> for i in txt.split(">"): 
...  if "<" in i: 
...  print i[i.find("<")+1:] 
... 
lol1 

lol2 
>>> [i[i.find("<")+1:] for i in txt.split(">") if "<" in i ] 
['lol1', '', 'lol2'] 
+0

'i [i.find(「<」)+ 1:]'可以替換爲'i.lstrip('<')'或'i [1:]'。 '如果i中的「<」可以被刪除,或者替換爲'if i.startswith(「<」)',這樣更有效並且重要。 – 2010-03-10 04:26:22

+0

我知道,但這是一個更復雜的代碼,謝謝。 – Alquimista 2010-03-10 04:33:34

相關問題