博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
版本号正则表达式匹配
阅读量:7070 次
发布时间:2019-06-28

本文共 905 字,大约阅读时间需要 3 分钟。

本文中的正则表达式符合 要点: 1.标准的版本号必须采用X.Y.Z的格式,且为非负的整数,且禁止在数字前方补零。 其中X为主版本号、Y是次版本号、Z为修订号。 正则表达式如下:

(([0-9]|([1-9]([0-9]*))).){2}([0-9]|([1-9]([0-9]*)))#[0-9]|([1-9]([0-9]*))意思为0-9,或者大于10的数字,即首位不能为0复制代码

加上分隔符重复两遍表示了X.Y.,最后一个大括号代表了Z 2.先行版本号可以被标注在修订版之后,先加上一个连接号,再加上一连串以句点分隔的标识符来修饰(没有位数限制)。标识符必须由 ASCII 字母数字和连接号 ([0-9A-Za-z-]) 组成。数字型的标识符禁止在前方补零。 先行版本号的正则表达式如下:

[-](([0-9A-Za-z]|([1-9A-Za-z]([0-9A-Za-z]*)))[.]){0,}([0-9A-Za-z]|([1-9A-Za-z]([0-9A-Za-z]*)))复制代码

首位不能为0的处理,可参考要点1 3.版本编译元数据可以被标注在修订版或先行版本号之后,先加上一个加号,再加上一连串以句点分隔的标识符来修饰。标识符必须由 ASCII 字母数字和连接号 ([0-9A-Za-z-]) 组成。 版本编译元数据的正则表达式如下:

[+](([0-9A-Za-z]{1,})[.]){0,}([0-9A-Za-z]{1,})复制代码

总正则表达式如下:

^(([0-9]|([1-9]([0-9]*))).){2}([0-9]|([1-9]([0-9]*)))([-](([0-9A-Za-z]|([1-9A-Za-z]([0-9A-Za-z]*)))[.]){0,}([0-9A-Za-z]|([1-9A-Za-z]([0-9A-Za-z]*)))){0,1}([+](([0-9A-Za-z]{1,})[.]){0,}([0-9A-Za-z]{1,})){0,1}$复制代码

小工具:

转载于:https://juejin.im/post/5c6bafe2f265da2dcf627a2c

你可能感兴趣的文章
086实战 项目开发流程,以及什么是数据分析平台,再者为什么要做数据分析平台,数据来源,数据处理流程...
查看>>
甲醛(Formaldehyde)
查看>>
gitlab
查看>>
中国科学院数学所二阶椭圆偏微分方程考博试题
查看>>
VUE --- 给页面加点网络动态数据
查看>>
Atitti 载入类的几种方法 Class.forName ClassLoader.loadClass 直接new
查看>>
EL表达式
查看>>
基于JavaMail的Java邮件发送:简单邮件发送
查看>>
Atitit 软件体系的进化,是否需要一个处理中心
查看>>
MVC ---- Lambda表达式
查看>>
SQL语句的一些基本使用以及一些技巧
查看>>
BZOJ 3585: mex [主席树]
查看>>
python 处理命令行参数--转载
查看>>
未来什么行业最赚钱
查看>>
ORM框架为什么不流行了
查看>>
java--- 使用interrupte中断线程的真正用途
查看>>
024 关于spark中日志分析案例
查看>>
[web] spring boot 整合MyBatis
查看>>
图片提交按钮各浏览器不兼容问题
查看>>
Win7如何改变用户文件夹位置
查看>>