You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写符合指定格式要求的Git提交注释校验正则表达式

正确的提交注释校验正则表达式

最终符合所有要求的正则如下:

^(RGT|UYT|WWB)-\d{4} \| [0-9a-zA-Z\s]+$

原正则的问题说明

你之前的写法存在以下错误:

  • 错误将整段规则包裹在字符组[]中,字符组仅能匹配内部任意单个字符,无法实现多段规则的顺序匹配逻辑
  • 未添加起始锚定符^,会出现字符串前包含其他无关内容也能校验通过的问题
  • 末尾的变更描述规则未添加量词+,仅能匹配单个字符,无法支持多字符的描述内容

规则对应说明

可以拆分正则逐段对应你的规范要求:

  1. ^(RGT|UYT|WWB):从字符串开头匹配三个可选项目代码之一,确保注释开头符合规范
  2. -\d{4}:紧跟短横线后匹配4位纯数字,对应变更编码要求
  3. \|:依次匹配空格、|符号、空格,完全符合分隔符格式要求
  4. [0-9a-zA-Z\s]+$:从分隔符后到字符串结尾,匹配至少一个由数字、英文字母、空白字符组成的内容,对应变更描述要求

注意事项

如果不允许变更描述中出现换行、制表符等特殊空白字符,仅允许普通空格,可以将正则调整为:

^(RGT|UYT|WWB)-\d{4} \| [0-9a-zA-Z ]+$

校验示例

  • 可通过校验:UYT-7905 | Changes to implement latest
  • 不可通过校验:
    • 开头项目码错误:ABC-1234 | test
    • 变更编码不足4位:RGT-123 | test
    • 分隔符格式错误:WWB-1234 |test
    • 描述含特殊字符:UYT-7905 | test!@#

内容的提问来源于stack exchange,提问作者learningToCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 20:21:01