parseVersion

JavaScript

function parseVersion(str) {
  const match = /^(\d+)\.(\d+)\.(\d+)(?:-dev\.(\d+)\+[0-9a-f]*)?$/.exec(str);
  if (match === null) return null;
  return {
    major: parseInt(match[0]),
    minor: parseInt(match[1]),
    patch: parseInt(match[2]),
    dev: match[3] === null ? null : parseInt(match[3]),
  };
}
const result = parseVersion("0.16.0-dev.1484+d0ba6642b");
document.write("Major: " + result.major);
document.write("<br/>Minor: " + result.minor);
document.write("<br/>Patch: " + result.patch);
document.write("<br/>Dev: " + result.dev);