什么是匹配语义版本控制的正确正则表达式?
例如,它不应该匹配
01.1.1
9.8.7-whatever+meta+meta
1.2.3.DEV
1.2.3-0123
1.0.0-alpha_beta
1.2-SNAPSHOT
1.2.31.2.3----RC-SNAPSHOT.12.09.1--..12+788
Run Code Online (Sandbox Code Playgroud)
例如它应该匹配
0.0.4
1.2.3
10.20.30
1.1.2-prerelease+meta
1.1.2+meta
1.0.0-alpha
1.0.0-alpha.beta
1.0.0-alpha.1
1.0.0-alpha.0valid
1.0.0-rc.1+build.1
1.2.3-beta
10.2.3-DEV-SNAPSHOT
1.2.3-SNAPSHOT-123
1.0.0
2.0.0+build.1848
2.0.1-alpha.1227
1.0.0-alpha+beta
1.2.3----RC-SNAPSHOT.12.9.1--.12+788
1.2.3----R-S.12.9.1--.12+meta
Run Code Online (Sandbox Code Playgroud) 如果我想检查一个可为空的,Boolean我会得到一个type mismatch
var bool: Boolean? = true
if(bool)
println("foo")
else
println("bar")
Run Code Online (Sandbox Code Playgroud)
因为Boolean is expected不是Boolean?