regex - 如何在 git diff 中拆分标点符号上的单词?

标签 regex git diff git-diff posix-ere

我对以下命令有一些运气:

git diff --color-words='[^][<>()\{},.;:?/|\\=+*&^%$#@!~`"'\''[:space:]]+|[][<>(){},.;:?/|\\=+*&^%$#@!~`"'\'']'

但它似乎没有在第一个字符类中正确否定方括号。

我试过这个:
git diff --color-words='[^\]\[<>()\{},.;:?/|\\=+*&^%#@!~`"'\''[:space:]]+|[\]\[<>(){},.;:?/|\\=+*&^%#@!~`"'\'']'

为了使方括号文字化,但失败并显示消息 fatal: Invalid regular expression .

编辑:

我得到的输出是这样的:

foobarfo]ob[ar



但我所追求的是:

fo]oob[ar

最佳答案

使用 word diff,您将始终在新单词旁边看到您删除的单词。

这就是为什么你在你的新变化之前有这个词。

阅读这个问题,非常详细的答案:

Filtering a diff with a regular expression

关于regex - 如何在 git diff 中拆分标点符号上的单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36192897/

相关文章:

git - 如何检测裸 git 存储库中分支之间的冲突

php - 在 SQLITE SELECT 语句中使用的自定义 REGEXP 函数

javascript - 替换中的回调函数(循环内)

security - 将vimrc推送到Github时如何避免暴露 secret 信息

git - 在 rebase 中,我能看到当前提交的提交信息吗?

eclipse - 如何识别来自 Eclipse 中 CompareEditorInput 的文本选择事件的来源?

git - 有没有办法将 git 或 Mercurial diff 输出通过管道传输到 GUI Diff 工具?

java - 从字符串中提取字段值

java - 正则表达式一或两个特定字母

git - Git Diff 中的非 UTF8 字符(如 ESC[1;33m] )