Split apart map, generate regex from maps

Generate the regular expression from four different maps (for the different kinds of word replacement), hopefully so that it will be easier for people to make contributions.