code: def _precompile_substitution(self, kind, pattern):
          
          if pattern not in self._regexc[kind]:
              qm = re.escape(pattern)
              self._regexc[kind][pattern] = {
                  "qm": qm,
                  "sub1": re.compile(r'^' + qm + r'$'),
                  "sub2": re.compile(r'^' + qm + r'(\W+)'),
                  "sub3": re.compile(r'(\W+)' + qm + r'(\W+)'),
                  "sub4": re.compile(r'(\W+)' + qm + r'$'),
              }
docs: Pre-compile the regexp for a substitution pattern.
  
          This will speed up the substitutions that happen at the beginning of
          the reply fetching process. With the default brain, this took the
          time for _substitute down from 0.08s to 0.02s
  
          :param str kind: One of ``sub``, ``person``.
          :param str pattern: The substitution pattern.