1

我正在尝试添加提交消息挂钩以在 Gitlab 中接受以下输入:

bug 12345
bug #12345
BUG # 12345
Bug#12345
bug12345

数字 12345 应更改为 5 位或 6 位数字(不小于,不大于)

它应该从Bug、BUG或bug开始。

数字和字符串“Bug/bug/BUG”之间不应包含除 # 或空格或空格之外的任何其他字符

我需要尽快帮助。

我试图通过以下方式实现这一目标:

^(BUG|bug|Bug)\ |#\d+

但这并没有提供所需的输出。我正在参考:

  1. https://regex101.com/
  2. https://github.com/google/re2/wiki/语法

提前非常感谢。

4

1 回答 1

1

您可以使用

^(BUG|bug|Bug) *(?:# *)?\d{5,6}$

查看正则表达式演示

如果您只想以bug不区分大小写的方式进行匹配,则可以将其写为(?i)^Bug *(?:# *)?\d{5,6}$.

要匹配任何空格,请将模式中的文字空格替换为\s构造。

更多详情

  • ^- 字符串的开始
  • (BUG|bug|Bug)- BUG, bug, 或Bug
  • *(?:# *)?- 零个或多个空格后跟一个可选序列 a#后跟零个或多个空格
  • \d{5,6}- 五或六位数
  • $- 字符串结束。
于 2021-03-11T10:10:52.327 回答