如果输入如下:
abc "def abc" mno pqr "est mnr"
输出应如下:
abc
def abc
mno
pqr
est mnr
答案 0 :(得分:0)
以下是使用re.findall
的Python选项:
inp = 'abc "def abc" mno pqr "est mnr"'
parts = re.findall(r'(?<!\S)".*?"(?!\S)|\b\w+\b', inp)
parts = map(lambda x : re.sub(r'"(.*)"', '\\1', x), parts)
print(parts)
此打印:
['abc', 'def abc', 'mno', 'pqr', 'est mnr']
请注意,需要执行第二个map
步骤才能从那些被引用的匹配项中删除双引号。