Fix regex for macros without arguments

The previous regex version required that there is a whitespace
after macro name, thus making [macro] invalid. Now this version
requires that there is whitespace before each argument pair in the
optional argument list. Thus, empty list requires no whitespace.