正则表达式a:b c d a:b

时间:2012-10-12 00:10:06

标签: python regex

我目前有正则表达式'([^: ]+):([^ ]+)?',当给出类似This is a correct:test msg: a b c bool:y的字符串时,会返回[('correct', 'test'), ('msg', ''), ('bool', 'y')](使用pythons re.findall)。

我实际上希望它返回类似[('correct', 'test'), ('msg', 'a b c'), ('bool', 'y')]的内容。如何强制正则表达式查看第二个块,并查看其中是否有:

1 个答案:

答案 0 :(得分:4)

您可以在第二部分使用positive lookahead,例如

'([^ :]+): *(.+?)?(?:(?= [^ ]+:)|$)'
相关问题