You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写正则表达式匹配提取两种格式的配置文件版本号?

提取配置文件中标签内的版本号(兼容两种格式)

直接用这一条awk命令就能同时匹配你要的两种版本格式,不用分开执行两次:

awk 'match($0, /<version>([0-9]+\.[0-9]+(\.[0-9]+)?)<\/version>/, arr) {print arr[1]}' config.xml

正则逻辑说明

  • 用<version>和</version>精准定位标签范围,避免误匹配其他无关的数字串
  • 核心捕获组([0-9]+\.[0-9]+(\.[0-9]+)?):
    • [0-9]+:匹配1位或多位数字(对应主版本号,比如例子里的2)
    • \.:转义后的点号,匹配版本号里的分隔符
    • [0-9]+:匹配1位或多位数字(对应次版本号,比如例子里的343)
    • (\.[0-9]+)?:带问号的可选组,匹配.[数字]格式的修订版本号,问号表示这部分可以有也可以没有,完美兼容两种格式

如果要严格匹配你给出的格式(主版本1位、次版本3位、修订版本1位可选)

可以用更精准的正则:

awk 'match($0, /<version>([0-9]\.[0-9]{3}(\.[0-9])?)<\/version>/, arr) {print arr[1]}' config.xml

这里把主版本限定为1位数字,次版本限定为3位,修订版本限定为1位,完全贴合你给出的示例格式。

内容的提问来源于stack exchange,提问作者Bert

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.23 06:36:35