例如,如果我有这3行的文档。我知道^feat
是匹配第一个feat
,我怎么能匹配第三行reg
?我试过^reg
似乎不工作。如何编写一个在第三行拾取特定单词的grep?
feat(ad): make new ad
some note here
reg(ad): need a walk through
它意味着是一个.changelogrc
文件中用于https://github.com/rafinskipg/git-changelog
例如,如果我有这3行的文档。我知道^feat
是匹配第一个feat
,我怎么能匹配第三行reg
?我试过^reg
似乎不工作。如何编写一个在第三行拾取特定单词的grep?
feat(ad): make new ad
some note here
reg(ad): need a walk through
它意味着是一个.changelogrc
文件中用于https://github.com/rafinskipg/git-changelog
您可以尝试使用下面的正则表达式:
^[^\r\n]*?\r\?\n[^\r\n]*?\r\?\nreg
此正则表达式将“吃”从一开始就两行,然后检查第三行开头是否出现reg
。请注意,我使用数量\n|\r\n
来表示新行,以覆盖Windows或Linux(您从未提及过您的操作系统)。
如果你想匹配任何线与reg
开始,那么你可以尝试:
^(?:[^\r\n]*?\r\?\n)*reg
在看看该工具的源代码,你应该启用调试日志记录,看看git的命令被发布,它以this.log('debug', 'Executing : ', git_log_command);
登录。从快速浏览消息来源我会说你得到像git log --grep="^feat|^reg"
这是不正确的,但应该是git log --grep="^feat\|^reg"
。但是,无论如何,如果你有日志行,你可以尝试单独执行命令,看看它是否适用于你,并可以用它来找出为什么没有。
你想要什么确切的输出? – fedorqui
@fedorqui所以基本上它的一个grep将被用在git-changelog中来获取字符串'reg'并创建'Regression'的标题,但我认为这是通过git-changelog lib来处理的,我所需要的就是编写正确的grep,我想! – Ezeewei
是的,我知道你想要正确的'grep'。但为此,我们需要知道您要为此给定的输入提取什么输出。 'grep“^ reg”'似乎没问题。 – fedorqui