Description
Extract strict SemVer prerelease identifiers with numeric versus textual evidence using the existing parser; no build precedence.
Semantic versions have a major.minor.patch core, optional prerelease identifiers after a hyphen, and build identifiers after a plus. Prereleases precede the corresponding release; build metadata does not affect precedence. A textual spelling, an equal-precedence group and a major.minor release lane therefore answer different questions.1
Extract strict SemVer prerelease identifiers with numeric versus textual evidence using the existing parser; no build precedence.
When to use this tool
Use this tool to extract strict SemVer prerelease identifiers with numeric versus textual evidence using the existing parser; no build precedence.
How to use the tool and how it works
- Enter version using the field definitions below.
- Run the operation. Correct input errors before interpreting an output.
- Read result.identifiers, result.numeric. Use the ordering, boundary rules and absence conditions described below.
Parse one version and return prerelease identifiers, converting numeric tokens to numbers, with a parallel boolean numeric list.2
| Input field | Meaning and units | Accepted input |
|---|---|---|
| version | One complete strict semantic-version string. | Text, at most 8,192 UTF-16 code units; the operation’s grammar also applies. |
| Output field | Interpretation |
|---|---|
| result | Object containing the named fields below. |
| result.identifiers | Ordered prerelease or build identifiers extracted from the version. |
| result.numeric | Parallel flags identifying prerelease tokens parsed as numeric identifiers. |
{
"input": {
"version": "1.2.3-alpha.1+build.2"
},
"output": {
"result": {
"identifiers": [
"alpha",
1
],
"numeric": [
false,
true
]
}
}
} Limitations and assumptions
- An ordinary release has empty lists; build metadata is not included.
- Version text is limited to 1,024 UTF-16 code units with no whitespace. Parsed core and numeric prerelease components must be nonnegative safe integers. Range expressions and a leading v are not accepted.
- Every declared top-level input field is required and unexpected fields are rejected. Ordinary strings are limited to 8,192 UTF-16 code units and lists to 128 entries, with tighter operation-specific bounds where stated. JSON text has bounded nesting and node counts.
- Numeric outputs must be finite and no larger in absolute magnitude than the safe-integer limit; operations returning exact large integers use decimal text. Positions are zero-based and spans end exclusively unless the operation explicitly states a different convention.
Alternative or Complementary methods
Choose whether you need exact spelling, precedence or a release-lane grouping. Use a separate package manager or compatibility review for dependency resolution and release-policy decisions.
References
-
Semantic Versioning 2.0.0 — Semantic Versioning
-
Tool behavior and example: Semantic Version Prerelease Record Extractor — tool.io
Similar or alternative tools
- Semantic Version Prerelease Counter Bump
Bump the final numeric identifier in a matching SemVer prerelease lane or start the supplied label at zero; changing labels resets the lane and build metadata is removed.
- Semantic Version Prerelease Prefix Selector
Select strict SemVer prerelease identifier prefix matches by complete literal identifiers, not substring regex or build metadata.