我正在尝试获取一个 Java 方法来验证参数是否是格式String
正确的“ semver ”(语义版本控制)版本字符串。
在我的应用程序中,semver 字符串必须采用以下形式:
<major>.<minor>.<patch>-<qualifier>
在哪里:
<major>
是正整数 (1+)
<minor>
和<patch>
都是非负整数 (0+)
<qualifier>
是一个字母数字字符串 ( ([0-9][a-z][A-Z])+
)
有效示例:
1.2.40
1.0.0-SNAPSHOT
2.0.45-RC
3.10.0
迄今为止我最好的尝试:
public boolean isSemVer(String version) {
Pattern versionPattern = Pattern.compile("^[a-zA-Z-]+\\d+\\.\\d+\\.\\d+");
Matcher matcher = versionPattern.matcher(version);
return matcher.matches();
}
生成false的第一个有效示例1.2.40。谁能告诉我哪里出了问题以及我需要在正则表达式中进行哪些调整才能让它接受我的用例?提前致谢!
白猪掌柜的
喵喔喔
相关分类