匹配版本号部分与正则表达式

Dav*_*own 8 c# regex version

我正在尝试使用C#正则表达式匹配版本号(Major.Minor.Build.Revision)的各个部分.但是,我对编写Regex很新,甚至使用Expresso也证明有点困难.现在,我有这个:

(?<Major>\d*)\.(?<Minor>\d*)\.(?<Build>\d*)\.(?<Revision>\d*)
Run Code Online (Sandbox Code Playgroud)

这有效,但要求版本号的每个部分都存在.我想做的还是匹配版本,如:

2.13
Run Code Online (Sandbox Code Playgroud)

在这种情况下,构建和修订组需要返回空值.如果我认为这一切都错了,请随意提出一个更好的方法.

Jon*_*ler 13

(?<Major>\d*)\.(?<Minor>\d*)(\.(?<Build>\d*)(\.(?<Revision>\d*))?)?
Run Code Online (Sandbox Code Playgroud)

使第三和第四部分可选.