0
我目前有正則表達式'([^: ]+):([^ ]+)?'
,當給出像This is a correct:test msg: a b c bool:y
這樣的字符串時,返回[('correct', 'test'), ('msg', ''), ('bool', 'y')]
(使用pythons re.findall
)。正則表達式a:b c d a:b
我真的希望它返回像[('correct', 'test'), ('msg', 'a b c'), ('bool', 'y')]
。如何強制正則表達式查看第二塊內部,並查看它是否在:
中?
爲什麼'[('correct','test',''msg','ab c'),('bool','y')]'而不是'[('correct',' test'),('msg','a'),('bc bool',y')]'?也就是說,正則表達式應該如何知道你想要的而不是其他的? –
聽起來像你需要做一個消極的向前看,以確保你消費的單詞不屬於第一個位置。 –