【问题标题】:Regex to match version number in Javascript正则表达式匹配 Javascript 中的版本号
【发布时间】:2020-03-02 10:22:39
【问题描述】:

我正在尝试创建一个匹配版本号的正则表达式,其格式可以为 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 regex


    【解决方案1】:

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

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

    RegEx Demo

    正则表达式详细信息:

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

    【讨论】:

    • 感谢您的回复。我们不能允许超过 3 位小数吗?现在它不会显示像 1.2.3.4.5.6.7 这样的数字的错误
    猜你喜欢
    • 2014-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-29
    • 2012-09-22
    • 1970-01-01
    相关资源
    最近更新 更多