【发布时间】:2021-03-02 15:52:24
【问题描述】:
我正在寻找可以从字符串中提取软件版本的正则表达式。几个样本看起来像
1) 'ABCD 2.3.4'
o/p: 2.3.4
2) 'ANDROID 4.4 KIT KAT SELFIX'
o/p: 4.4
3) '0.1.0-D-20170309.1502'
o/p: 0.1.0
4) 'CONTIXO-LA703-20180915-v1.0'
o/p: 1.0
我的正则表达式条件失败并且无法满足所有这些条件。 这是我的正则表达式:
''.join(re.findall("[0-9.]", txt))
这只能满足前两种情况。如何从以上所有案例中提取软件版本?
注意:我的旧问题不具体,没有解决方案就关闭了。我删除了问题并添加了一个新问题。希望这个符合标准。
【问题讨论】:
-
在示例 3 中,版本可以是
0.1.0或20170309.1502。你怎么知道哪个是版本号? (对于人类来说,第二个显然是时间戳) -
在这种情况下,数字的长度会有所不同
-
也许这样的事情会起作用
\d{1,3}\.\d{1,3}(?:\.\d+)?\b它适用于您提供的示例,但它可能不适用于某些情况。
标签: python python-3.x regex