【发布时间】:2021-08-19 20:10:22
【问题描述】:
给定以下文本
key: foo/bar:v1.2.3
key: baz/spam:1.2.3 greedy
我尝试了以下正则表达式:
^\s*key: (?<ref>.*?):(?<ver>.*)
返回以下组 (demo):
- 参考:foo/bar,版本:v1.2.3
- ref: baz/spam, ver: 1.2.3 greedy
为了匹配\分组没有前面文本的版本(例如1.2.3),正则表达式中缺少什么(例如greedy)?
【问题讨论】:
-
可以抓取数字
^\s*key: (?<ref>[^:]+):v?(?<ver>\d+(?:\.\d+)*)regex101.com/r/bvotwA/1 -
@anubhava:如果您将评论转换为答案,我可以接受 :)(如果您能解释什么是
\S会有所帮助)
标签: regex regex-group