Do you need a regex? I haven't fully followed the logic of the macros, but can you not use "contains" (which is also case-insensitive) instead of "matches"?
Unless it's because you want to include regex pattens in your exclusions list, in which case @peternlewis's post here might help.