[PYTHON]split 与 re.split

Python中,split作为字符串的方法之一,可以进行字符串的简单分割。
如:
>>> s=’hello world’
>>> s.split()#不带参数表示默认使用空格分割
[‘hello’, ‘world’]

分割后的字符串变为list类型。

但是如果涉及到稍微复杂点的分割,如下:
s=”HELLO <a href=’LOL’> World”要输出 HELLO WORLD,则用split无法完成,此时需要re.split,使用正则表达式来完成。此例中,需要将”<“之后,”>”之前的字符作为分割符,来进行分割。示例如下:

>>> re.split(‘<.*>?’,s)# .*表示中间匹配任意字符,除了换行。 ?表示非贪婪(non-greedy)模式, 即只取到第一个完全匹配的字符
[‘HELLO ‘, ‘ World’]

若s如下:
s=”HELLO <a href=’LOL’>HAHA> World”
>>> re.split(‘<.*?>’,s)#非贪婪模式,只到第一个”>”
[‘HELLO ‘, ‘HAHA> World’]
>>> re.split(‘<.*>’,s)#贪婪模式,到最后一个”>”
[‘HELLO ‘, ‘ World’]