parameters: (self, buffer, pos = None)
docstring: Searches for the pattern in the given buffer, optionally starting at
          the given position within the buffer.
  
          This method B{MUST} be reimplemented by subclasses of L{Pattern}.
  
          @type  buffer: str
          @param buffer: Buffer to search on.
  
          @type  pos: int
          @param pos:
              (Optional) Position within the buffer to start searching from.
  
          @rtype:  tuple( int, int )
          @return: Tuple containing the following:
               - Position within the buffer where a match is found, or C{-1} if
                 no match was found.
               - Length of the matched data if a match is found, or undefined if
                 no match was found.
docstring_summary: Searches for the pattern in the given buffer, optionally starting at
          the given position within the buffer.
docstring_tokens: Searches for the pattern in the given buffer optionally starting at the given position within the buffer .
function: def find(self, buffer, pos = None):
          """
          Searches for the pattern in the given buffer, optionally starting at
          the given position within the buffer.
  
          This method B{MUST} be reimplemented by subclasses of L{Pattern}.
  
          @type  buffer: str
          @param buffer: Buffer to search on.
  
          @type  pos: int
          @param pos:
              (Optional) Position within the buffer to start searching from.
  
          @rtype:  tuple( int, int )
          @return: Tuple containing the following:
               - Position within the buffer where a match is found, or C{-1} if
                 no match was found.
               - Length of the matched data if a match is found, or undefined if
                 no match was found.
          """
          raise NotImplementedError()
function_tokens: def find ( self , buffer , pos = None ) : raise NotImplementedError ( )