Я пытаюсь создать регулярное выражение для принудительной передачи сообщений Git для соответствия определенному формату. Я бил головой о клавиатуру, изменяя полурабочую версию, которую я имею, но я просто не могу заставить ее работать так, как я хочу. Вот что у меня сейчас:Regex for Git commit message
/^([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
В настоящее время он соответствует, но он также будет соответствовать, если нет пустой строки после идентификаторов выпуска , и после нескольких пустых строк.
В любом случае, чтобы обеспечить это, или мне просто нужно жить с ним?
Это также довольно уродливо, я уверен, что есть более краткий способ написать это.
Спасибо.
Хотя я думаю, что было бы нормально ограничивать длину первой строки, я думаю, вы должны хотя бы разрешить краткое описание, помимо идентификаторов билетов. Многие инструменты отображают только первую строку, поэтому даже если вы применяете более подробное описание, во многих контекстах вам становится труднее увидеть, что такое фиксация, если вы просто ограничиваете ее идентификаторами билетов. –