繁体   English   中英

Ruby正则表达式:为您解析git commit消息跟踪问题代码

[英]Ruby regex: parsing git commit messages for youtrack issue codes

我想解析并删除在提交消息中任何地方嵌入的youtrack问题代码。

对于从未使用过youtrack的用户,可以在提交中指定问题代码,如下所示:

#<project>-<issue#> <commit msg> 
e.g. #PROJ-3 I like to use git and youtrack

要么...

e.g. I'm silly #PROJ-3 and like to use git and youtrack

我有以下正则表达式...

$remove_issue_regex = /( |^)#(\w+-\d+):? ? -? ?/

...我输入到子方法中,用空字符串替换子字符串。 但这很丑陋,如果用户以愚蠢的方式格式化其消息,则可能无法正常工作。 有谁知道一种更优雅的方式来做到这一点?

往后看

(?<= |^)#(\w+-\d+)(?=: - )?

Rubular

要么

(?<= |^)#(\w+-\d+)(?:: - )?

Rubular

只需将整个字符串替换为第一个捕获的组,即可仅获取<project>-<issue>格式。

$remove_issue_regex = /#\\w+-\\d+ (.*)/

将提交消息放在图章之后作为第一个捕获组

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM