正则表达式从字符串中删除字符集并将其添加到数组

时间:2013-06-13 19:54:06

标签: python regex

我有一个看起来像的字符串:

 original_string = "(black && green) || (red && blue)"

我想拉出所有单词并将它们添加到数组中。我要找的结果是:

vars = ["black", "green", "red", "blue"]

所以我一直在试验正则表达式,我写了以下内容来分割字符串:

vars = re.split('\W+', original_string, flags=re.IGNORECASE)

哪种方式有效,但会返回以下内容:

vars = [u'', u'black', u'green', u'red', u'blue', u'']

所以我将列表项转换为字符串:

var_list = []
for var in vars:
    var = str(var)
    var_list.append(var)

返回:

['', 'black', 'green', 'red', 'blue', '']

因此,数组的计数为6而不是4,因为数组中有两个''。但我不确定''来自哪里或如何摆脱它们。

1 个答案:

答案 0 :(得分:2)

>>> import re
>>> original_string = "(black && green) || (red && blue)"
>>> re.findall(r'\w+', original_string)
['black', 'green', 'red', 'blue']