代码之家  ›  专栏  ›  技术社区  ›  Alquimista

如何在python中正则化空字符串?

  •  0
  • Alquimista  · 技术社区  · 15 年前

    我想找到空标签,下面是一个例子

    txt ="<lol1><><lol2>"
    rgx = "<([a-zA-Z_0-9]+)>"
    print re.findall(rgex, txt)
    

    我明白了

    ['lol1', 'lol2']
    

    我想要

    ['lol1', '', 'lol2']
    

    我怎么能用regex做这个?

    2 回复  |  直到 15 年前
        1
  •  7
  •   Alex Martelli    15 年前

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

    关键是使用 * ,意思是“前面的零个或多个”,在这里您使用 + ,意思是“一个或多个”。

        2
  •  0
  •   ghostdog74    15 年前

    不需要regex

    >>> 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']