首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Regex提取下一个语义发布版本

使用Regex提取下一个语义发布版本
EN

Stack Overflow用户
提问于 2020-08-26 01:02:43
回答 1查看 407关注 0票数 0

我有一些由语义发布输出的日志。我想得到下一个语义版本。

这是一些原木

代码语言:javascript
复制
[6:53:27 p.m.] [semantic-release] › ℹ  The next release version is 1.1.1
[6:53:27 p.m.] [semantic-release] › ℹ  Start step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[6:53:27 p.m.] [semantic-release] › ✔  Completed step "generateNotes" of plugin "@semantic-release/release-notes-generator"
[6:53:27 p.m.] [semantic-release] › ⚠  Skip step "prepare" of plugin "@semantic-release/changelog" in dry-run mode
[6:53:27 p.m.] [semantic-release] › ⚠  Skip 1.1.1 tag creation in dry-run mode
[6:53:27 p.m.] [semantic-release] › ✔  Published release 1.1.1 on apk-add-version channel
[6:53:27 p.m.] [semantic-release] › ℹ  Release note for version 1.1.1:

我想从日志中得到1.1.1

我试过:yarn semantic-release -d | grep 'Release note' | grep -Eo "(\d+)\.(\d+)\.(\d+)"

它可以在本地机器上工作,但我想尝试一种不同的方法(因为egrep -ogreo -Eo似乎不适用于github-actions )。它总是返回错误代码0)

我要找的是Release note for version 1.1.1:

如果找到1.1.1,请捕获Release not for version

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-08-26 01:20:57

这是因为grep -E正在使用不支持\d扩展正则表达式。所以你有两个解决方案:

  • 使用grep -P使用Perl正则表达式并使用\d
  • 使用grep -E,但将正则表达式更改为[[:digit:]]+\.[[:digit:]]+\.[[:digit:]]+[0-9]+\.[0-9]+\.[0-9]+
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63589075

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档