使用re.split拆分字符串时的其他空元素

Hed*_*dge 8 python regex python-2.6

我正在尝试使用re.split在Python中拆分看起来像这样的字符串:

#NAME="Foo" NAME2="foobar" NAME3="BAR BAR"
comp = "NAME=\"Foo\" NAME2=\"FOO BAR\" NAME3=\"BAR BAR\""
Run Code Online (Sandbox Code Playgroud)

这是我的分裂函数包括正则表达式的样子:

re.split('(\s\w+\=\".*?\")', comp)
Run Code Online (Sandbox Code Playgroud)

结果如下:

['NAME="Foo"', 'NAME2="foobar"', '', 'NAME3="BAR BAR"', '']
Run Code Online (Sandbox Code Playgroud)

虽然这是正确的,但我想摆脱所有空元素.

NPE*_*NPE 8

这是你在寻找的东西:

In [10]: re.findall(r'\w+=".*?"', comp)
Out[10]: ['NAME="Foo"', 'NAME2="FOO BAR"', 'NAME3="BAR BAR"']
Run Code Online (Sandbox Code Playgroud)

这听起来不像re.split()是工作的正确工具.