Parses a semantic version string into a logical type. Supports both release versions (e.g., "0.987.0") and versions with prerelease metadata (e.g., "0.987.0-16-gb3fb285"). Returns null for strings that do not match the expected format.
Expression categories: String
Declared arguments
Version string: Semantic version string. Supports both release versions (major.minor.patch) and versions with prerelease metadata (major.minor.patch-prerelease). Expression<String>
Output type:Semantic Version
Examples
Example 1: Base case
Argument values:
Version string:version
version
Output
0.987.0-16-gb3fb285
{ major -> 0, minor -> 987, patch -> 0, prerelease -> [ 16-gb3fb285 ], }
1.0.0-0-g0000000
{ major -> 1, minor -> 0, patch -> 0, prerelease -> [ 0-g0000000 ], }
2.5.3-42-gabc1234
{ major -> 2, minor -> 5, patch -> 3, prerelease -> [ 42-gabc1234 ], }
0.987.0-SNAPSHOT
{ major -> 0, minor -> 987, patch -> 0, prerelease -> [ SNAPSHOT ], }
Example 2: Base case
Argument values:
Version string:version
version
Output
0.987.0
{ major -> 0, minor -> 987, patch -> 0, prerelease -> [ ], }
1.0.0
{ major -> 1, minor -> 0, patch -> 0, prerelease -> [ ], }
2.5.3
{ major -> 2, minor -> 5, patch -> 3, prerelease -> [ ], }