[英]Regex for Git commit message
我正在尝试提出一个正则表达式来强制执行Git提交消息以匹配某种格式。 我一直在敲击键盘修改我的半工作版本,但我无法让它完全按照我的意愿工作。 这就是我现在拥有的:
/^([a-z]{2,4}-[\d]{2,5}[, \n]{1,2})+\n{1}^[\w\n\s\*\-\.\:\'\,]+/i
这是我试图强制执行的文字:
AB-1432, ABC-435, ABCD-42
Here is the multiline description, following a blank
line after the Jira issue IDs
- Maybe bullet points, with either dashes
* Or asterisks
目前,它匹配,但如果在问题ID之后没有空行,并且之后有多个空行,它也将匹配。
无论如何要强制执行,还是我必须忍受它?
这也很丑陋,我敢肯定有更简洁的方式来写出来。
谢谢。
你的正则表达式允许\\n
作为所需换行符之后的可能字符之一,这就是为什么它在有多个时匹配的原因。
这是一个清理正则表达式:
/^([az]{2,4}-\\d{2,5}(?=[, \\n]),? ?\\n?)+^\\n([-\\w\\s*.:',]+\\n)+/i
笔记:
[-\\w\\s*.:',]
字符。 (?=[, \\n])
以确保问题ID后跟至少其中一个字符。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.