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)