我想在Python中編寫一個正則表達式,將匹配帶空格的引號字符串或不帶空格的不帶引號的字符串。例如,給定字符串term:foo
,結果將爲foo
,並且給定字符串term:"foo bar"
,結果將爲foo bar
。到目前爲止,我想出了以下正則表達式:Python的正則表達式,以匹配一個引用或不帶引號的字符串
r = re.compile(r'''term:([^ "]+)|term:"([^"]+)"''')
的問題是,這場比賽可以進來要麼group(1)
或group(2)
所以我必須做這樣的事情:
m = r.match(search_string)
term = m.group(1) or m.group(2)
是有一種方法可以一步完成這一切嗎?
你知道'shlex.split( )'? – utapyngo
引用的字符串是否可以包含轉義引號? – ridgerunner
我不擔心逃脫的報價。 – user27478