【发布时间】:2018-04-17 08:54:33
【问题描述】:
我正在尝试将语义版本与正则表达式匹配,其中补丁(或第 3 位)是可选的。我已经完成了大部分工作,但最后一个可选数字在我的组中不会匹配。
示例位于:https://regex101.com/r/ZuitFG/3
我正在尝试匹配以下版本:
Release 2.6 Now Live
Release 12.46.30 Now Live
Release 2.6.0 Now Live
Release 2.6.1 Now Live
使用/Release (\d+\.\d+[\.\d]?)/,它只匹配x.x.,并且从不包括最后一组数字。我已经多次阅读了这个正则表达式的解释,但我看不到我做错了什么。
【问题讨论】:
-
[\.\d]表示“一个点或一个数字” - 使用(?:\.\d+)?,这是一个可选的非捕获组,匹配一个点后跟一个数字匹配 1 到无限次. -
[...]始终匹配单个字符。
标签: regex