正则表达式:排除固定和未知长度模式的混合

时间:2016-09-16 09:07:30

标签: python regex

我有一个这样的字符串:

'Global Software Version (DID 0xFD15): 4.5.3'

我想找到:

4.5.3

字符串始终以Global Software Version开头,但(DID 0xFD15)是可变部分,每次都不同。

我做了什么:

>>> x = 'Global Software Version (DID 0xFD15): 4.5.3'
>>> re.search('(?<=Global Software Version ).*', x).group().split(':')[1].strip()
'4.5.3'

任何有更好主意的人?只有正则表达式?

1 个答案:

答案 0 :(得分:1)

所以你可以在这里做多件事。最简单的解决方案是:

>>> x = 'Global Software Version (DID 0xFD15): 4.5.3'
>>> version = re.search('\d+[.]\d+[.]\d+', s).group()
>>> version
'4.5.3'

但这也有效:

>>> version = 'Global Software Version (DID 0xFD15): 4.5.3'.split(":")[1].strip()
>>> version
'4.5.3'

希望这有帮助!