RegEx/C/Define.regex.txt

# Matches C/C++ #define
(?m)\#\s{0,}
define # Match the define
\s+ # Whitespace
(?<Identifier>\w+) # The identifier
\s{0,} # Optional Whitespace
# Then either
(?>(?<Definition>([^\\]+$ # A Line with no escape OR
|(?<Line>[^\\]+?\\(?=(?>\r\n|\n))) # One or more lines ending with \
{1,})))