【问题标题】:Match sematic version in string by regex通过正则表达式匹配字符串中的语义版本
【发布时间】:2022-07-22 15:33:35
【问题描述】:

我有来自 semserver 的官方正则表达式,但我想匹配没有组和文本的整个版本,这在其他词中。例如对于字符串: “Adobe Flash Player 3.20.1 版本”我只想获取 3.20.1 我应该如何修改此正则表达式以获取此信息?这是 regex101 测试的链接https://regex101.com/r/YDXnbS/1

^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$

【问题讨论】:

  • 所以你想从Adobe Flash Player 3.20.1 version之类的东西中匹配3.20.1

标签: regex


【解决方案1】:

匹配一个数字,一些数字或点,然后是一个数字:

\d[.\d]+\d

live demo

【讨论】:

    猜你喜欢
    • 2016-10-24
    • 2014-08-10
    • 2018-04-17
    • 2018-07-26
    • 1970-01-01
    • 2014-05-10
    • 2021-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多