Work around bug where regexs weren't working properly
Add specific allowed attributes
Don't use magic regex match global variables

If a match doesn't work then you can get unexpected results (i.e. the
previous regex match). This way seems slightly better in that it will
throw an error if they matching doesn't work.

Using global variables seems so nasty for this. Maybe there's a better
way?