javascript - 正则表达式匹配 Javascript 中的版本号
问题描述
我正在尝试创建一个匹配版本号的正则表达式,其格式可以为 1.2.3.4 它也可以只包含一个数字,如 12,或者它也可以包含 *(星号)而不是数字。
我尝试按如下方式创建
[\d*]*\.[\d*]*\.[\d*]*\.[\d*]*
这在某种程度上有效,但它需要完全采用该格式,即它需要具有所有小数点,而我正在寻找的是允许版本类型中的任何数字和 *。
无效的场景可以是
1.2.4.5.6.
.
3.4.
有效的场景是
12
*
*.*
12.34.5.*
1.4.5.6
3.*.*
这有什么帮助吗?
谢谢
解决方案
您可以在 Javascript 中使用此正则表达式:
^(?:\d+|\*)(?:\.(?:\d+|\*))*$
正则表达式详细信息:
^
: 开始(?:\d+|\*)
: 匹配 1+ 位或*
(?:\.(?:\d+|\*))*
: 匹配一个组,点后跟 1+ 位数字或*
. 该组可以匹配 0 次或多次。$
: 结尾
推荐阅读
- python - 加载管道仅返回列名
- javascript - 提供从 Siri 语音输入到可编写脚本或 pythonista 脚本的参数?
- mongodb - MongoDB 接近 PaaS 上的最大内存
- python - 使用变量访问 python 类中的函数
- wolfram-mathematica - SCOM 的 MMASetup 命令行参数
- javascript - JS:正则表达式 SyntaxError:无效的正则表达式:无效的组说明符名称
- sql - 将 Datatime 和 Time 一起添加并转换为文本
- postgresql - 将消息从 Kafka 转发到 Elasticsearch 和 Postgresql
- c++ - 是否有可能将 cin 与 cout 并行使用?
- r - 尝试在 R 中手动重新排序条形图