2012-10-12 64 views
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')]。如何強制正則表達式查看第二塊內部,並查看它是否在:中?

+0

爲什麼'[('correct','test',''msg','ab c'),('bool','y')]'而不是'[('correct',' test'),('msg','a'),('bc bool',y')]'?也就是說,正則表達式應該如何知道你想要的而不是其他的? –

+0

聽起來像你需要做一個消極的向前看,以確保你消費的單詞不屬於第一個位置。 –

回答

相關問題