Semantic Version Regex

Matches semantic versioning strings like 1.0.0 or 2.3.1-beta.

パターン

/\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\w.-]+)?\b/g
→ ビジュアライザーで開く

テスト例

Released v1.0.0, Updated to 2.3.1-beta, Hotfix 1.2.3-rc.1

コード例

javascript

const regex = /\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\w.-]+)?\b/g;
const result = str.match(regex);

python

import re
pattern = re.compile(r'\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\w.-]+)?\b')
result = pattern.findall(text)

go

import "regexp"
re := regexp.MustCompile(`\bv?(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-[\w.-]+)?\b`)
result := re.FindAllString(text, -1)
versionsemverdevelopment