TODO FIXME HACK UNDONE \# (define|undef|if|elif|else|endif|line)\b // (region|endregion|error|warning|pragma)\b ///(?!/) // /\* \*/ " " ' ' @" " @[\w\d_]+ this base as is new sizeof typeof stackalloc true false else if switch case default do for foreach in while lock break continue goto return yield partial global where select group by into from ascending descending orderby let join on equals var dynamic await try throw catch finally checked unchecked fixed unsafe bool byte char decimal double enum float int long sbyte short struct uint ushort ulong class interface delegate object string void explicit implicit operator params ref out abstract const event extern override readonly sealed static virtual volatile async public protected private internal namespace using get set add remove null value \b [\d\w_]+ # an identifier (?=\s*\() # followed by ( \b0[xX][0-9a-fA-F]+ # hex number | ( \b\d+(\.[0-9]+)? #number with optional floating point | \.[0-9]+ #or just starting with floating point ) ([eE][+-]?[0-9]+)? # optional exponent [?,.;()\[\]{}+\-/%*<>^+~!|&]+