Why not just convert numbers like 1 to i or l then check with a manually created bad word list?
Would regex be really much faster than checking it against a 1000 or more bad word list?
Also bad word list can easily get updated by moderators as well, I really can’t understand the logic behind using so much regex.