2010-03-10 64 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

相关问题