How do I split words on punctuation in git diff?

I’ve have some luck with the following command:

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

but it doesn’t seem to negate the square brackets properly in the first character class.

I’ve tried this:

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

in order to make the square brackets literal, but it fails with the message fatal: Invalid regular expression.


The output I get is like so:


But what I’m after is:


Git Baby is a git and github fan, let's start git clone.