"Worcester" and "Norwich" are sort of regular, in the sense that the "ces" in "-cester" suffixes often gets elided into an "s" (e.g. "Gloucester", pronounced "Gloster") and the "w" in "-wick" and "-wich" suffixes is typically dropped completely (e.g. "Greenwich", "Warwick", "Berwick", pronounced "Grennidge", "Worick", "Berick" respectively).
My mother has always insisted that "Cirencester" is correctly pronounced "Sisister", which Wikipedia sort of supports (https://en.wikipedia.org/wiki/Cirencester#Pronunciation).