我有一个字符串列表。
如下所示:
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']
没有。列表中字符串内的单词可以是变量。
答案 0 :(得分:0)
此正则表达式使用正向前瞻((?<=')
)和lookbehind((?=')
)来匹配每个匹配开始和结束时的'
字符,而不将其包含在结果匹配中:
>>> re.findall(r"(?<=')[\w\s]*(?=')",a)
['expert executive', 'internal committee period', 'report name', 'entry']