如何编写正则表达式提取指定路径文本中abc_后最后一个点前的版本号
正则提取方案
可直接使用的正则写法
1. 捕获组写法(全引擎兼容,推荐)
正则表达式:abc_(\d+(?:\.\d+)*)\.\d+_
匹配后取第1个捕获组内容即可得到目标值。如果确定目标段固定为3段数字,也可以写为更精准的版本:abc_(\d+\.\d+\.\d+)\.\d+_
2. 零宽断言写法(无需提取捕获组,匹配结果即目标值)
如果使用的正则引擎支持可变长度后视断言(如Python、.NET、Java 9+),可以用以下写法直接匹配到结果:(?<=abc_)\d+(?:\.\d+)*(?=\.\d+_)
匹配逻辑说明
- 前置匹配固定标识
abc_,确保定位到版本号的起始位置 - 中间匹配由点分隔的数字序列,对应你需要提取的
2.77.789部分 - 后置匹配规则:一个点 + 任意长度数字 + 下划线,对应示例中目标段之后的
.46836936_部分,刚好卡到最后一个点的位置,保证不会多取后面的内容
内容的提问来源于stack exchange,提问作者user3239755
相关产品推荐
相关产品推荐

