RegEx/Git/Diff.regex.txt

# Matches Output from git diff
(?m)(?<Git_DiffHeader>
(?m)^diff # diff line start
\s--git\s # whitespace, then --git, then whitespace
(?<From>\S+) # From
\s # Whitespace
(?<To>\S+) # To
(?<ExtendedHeader>(?:.|\s){0,}?(?=\z|^index)) # Until 'index'
^index\s # Index Line Start
(?<FromHash>\w+) # FromHash
\.{2,2} # DotDot
(?<ToHash>\w+) # ToHash
\s(?<Mode>\w+) # FileMode
(?:.|\s){0,}?(?=\z|^---) # UntilDashLine
\-{3,3}\s # DashLineAndWhitespace
(?<FromUnified>\S+) # FromUnified
\s+\+{3,3}\s # PlusLineAndWhitespace
(?<ToUnified>\S+) # ToUnified
\s
)
(?<Git_DiffRanges>(?:.|\s){0,}?(?=\z|^diff))