提取字符串列表中的字符串

时间:2018-04-18 16:52:07

标签: python regex

我有一个字符串列表。

如下所示:

a=   "['expert executive', 'internal committee period', 'report name', 'entry']"

type(a)
Out[23]:
str

现在,如果我想提取所有内部字符串并将其存储在列表中,我使用的是正则表达式,如下所示:

re.findall(r"\w+\s+\w+",a)

Out[24]:
['expert executive',
 'internal committee',
 'report name',
 'entry']

如果你看到它只会在字符串中提取两个单词,如果一个字符串超过两个字符,它将不会提取它,因为我的模式中只有两个单词。我怎么做任何不。字符串中的单词,它提取所有这些。像输出应该是:

['expert executive',
     'internal committee period',
     'report name',
     'entry']

没有。列表中字符串内的单词可以是变量。

1 个答案:

答案 0 :(得分:0)

此正则表达式使用正向前瞻((?<='))和lookbehind((?='))来匹配每个匹配开始和结束时的'字符,而不将其包含在结果匹配中:

>>> re.findall(r"(?<=')[\w\s]*(?=')",a)
['expert executive', 'internal committee period', 'report name', 'entry']
相关问题