code: def _tryMatch(self, textToMatchObject):
          
          # Special case. if pattern starts with \b, we have to check it manually,
          # because string is passed to .match(..) without beginning
          if self.wordStart and \
             (not textToMatchObject.isWordStart):
                  return None
  
          #Special case. If pattern starts with ^ - check column number manually
          if self.lineStart and \
             textToMatchObject.currentColumnIndex > 0:
              return None
  
          if self.dynamic:
              string = self._makeDynamicSubsctitutions(self.string, textToMatchObject.contextData)
              regExp = self._compileRegExp(string, self.insensitive, self.minimal)
          else:
              regExp = self.regExp
  
          if regExp is None:
              return None
  
          wholeMatch, groups = self._matchPattern(regExp, textToMatchObject.text)
          if wholeMatch is not None:
              count = len(wholeMatch)
              return RuleTryMatchResult(self, count, groups)
          else:
              return None
docs: Tries to parse text. If matched - saves data for dynamic context