在gitlab正则表达式中指定重复表达式
Specify repeated expression in gitlab regex
如何在gitlab的正则表达式中指定重复的表达式?更一般地说,gitlab 正则表达式语法在哪里指定?我所能找到的只是 https://gitlab.str.corp/help/user/packages/container_registry/index#regex-pattern-examples 上的一些示例,它们可能涵盖了用户想要的 95%,但不是我的情况。
我正在尝试编写一个图像清理策略,我需要在其中指定一个匹配要删除的图像标签的正则表达式。我们的 repo 有两种类型的图片标签:
- 版本标签,看起来像 1.2.3
- 提交标签,看起来像 abcdef1234567890abcdef123456789087654321(40 位 ID)
我想要与提交标签匹配的内容。但取决于正则表达式版本,可能是 .{40}
或 .\{40\}
或者可能是带逗号的其中一个。
GitLab 使用 re2 with Ruby's regexp to match the provided parameters. In the source code for GitLab, you can see the current regexp implementation here and its usage in registry cleanup.
匹配 1.2.3
格式的标签:
\d+\.\d+\.\d+
匹配恰好包含 40 个字母数字字符的标签:
[A-z0-9]{40}
如何在gitlab的正则表达式中指定重复的表达式?更一般地说,gitlab 正则表达式语法在哪里指定?我所能找到的只是 https://gitlab.str.corp/help/user/packages/container_registry/index#regex-pattern-examples 上的一些示例,它们可能涵盖了用户想要的 95%,但不是我的情况。
我正在尝试编写一个图像清理策略,我需要在其中指定一个匹配要删除的图像标签的正则表达式。我们的 repo 有两种类型的图片标签:
- 版本标签,看起来像 1.2.3
- 提交标签,看起来像 abcdef1234567890abcdef123456789087654321(40 位 ID)
我想要与提交标签匹配的内容。但取决于正则表达式版本,可能是 .{40}
或 .\{40\}
或者可能是带逗号的其中一个。
GitLab 使用 re2 with Ruby's regexp to match the provided parameters. In the source code for GitLab, you can see the current regexp implementation here and its usage in registry cleanup.
匹配 1.2.3
格式的标签:
\d+\.\d+\.\d+
匹配恰好包含 40 个字母数字字符的标签:
[A-z0-9]{40}