首页 > 解决方案 > 正则表达式匹配 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.*.*

这有什么帮助吗?

谢谢

标签: javascriptregex

解决方案


您可以在 Javascript 中使用此正则表达式:

^(?:\d+|\*)(?:\.(?:\d+|\*))*$

正则表达式演示

正则表达式详细信息:

  • ^: 开始
  • (?:\d+|\*): 匹配 1+ 位或*
  • (?:\.(?:\d+|\*))*: 匹配一个组,点后跟 1+ 位数字或*. 该组可以匹配 0 次或多次。
  • $: 结尾

推荐阅读