regex - git中--word-diff的正则表达式
问题描述
我正在尝试更新三个正则表达式来识别 git 日志中的模式。基本上,它们是用于在运行git diff ---word-diff --unified=0
命令时从 git 注释中识别代码行添加、修改和删除的表达式。
表达式是:
修改:.+(\[-|\{\+).*$
添加:\{\+.*\+\}$
删除:\[-.*-\]$
最初,这些表达式是在这个问题中提出的:Is there a way to have a way to have a git show lines added, lines changed and lines removed?. 但是今天,显然,它们不再按应有的方式工作,因为在这里进行测试时,我发现了与实际应有的数字不同的数字
对于以下代码,它引入了不同数量的删除和修改:
@@ -11 +11 @@ delta dAddressBook {
private String [-addressA;-]{+address;+}
@@ -13 +13 @@ delta dAddressBook {
public [-AddressBookEntryB()-]{+AddressBookEntry()+} {
@@ -39,0 +40,4 @@ delta dAddressBook {
{+public void setAddress(String address) {+}
{+ this.address = address;+}
{+ }+}
@@ -45,2 +48,0 @@ delta dAddressBook {
[- import br.unb.cic.iris.core.exception.EmailException;-]
[- import br.unb.cic.iris.core.model.AddressBookEntry;-]
在https://regex101.com/r/Soeey3/1/
出于某种原因,它与此示例中的第 7 行 ( {+public void setAddress(String address) {+}
) 匹配,其中该行应考虑添加而不是修改。同样,加法表达式与第 7 行不匹配。
解决方案
推荐阅读
- api - 将 RabbitMQ 配置为通过 HTTP 端点路由到队列,因此不需要普通的 JSON 数据
- c - 如何在C中打印未知长度数组中的每个元素
- reactjs - 在单击时运行函数会返回陈旧的状态值 React Hooks
- python - 创建一个 python 程序,告诉我人们的年龄和他们的名字和出生年份
- java - 计算几袋咖啡的价格。我很难将这些盒子纳入最终价格
- c++ - std::common_type 的特化——误解、错误、两者兼而有之,还是两者都没有?
- r - 根据另一列中的条件过滤非 NA 值,保留所有其他记录
- python - 从另一个线程中了解一个 Python 线程的执行点(模块和行号)
- php - 为什么我不能在 Codeigniter 中使用 Chart.js 创建月度销售报告
- optimization - 查询优化建议