Metadata-Version: 1.0
Name: stringparser
Version: 0.3
Summary: Easy to use pattern matching and information extraction
Home-page: http://github.com/hgrecco/stringparser
Author: Hernan Grecco
Author-email: hernan.grecco@gmail.com
License: MIT
Description: 
        Motivation
        ----------
        
        The ``stringparser`` module provides a simple way to match patterns and extract
        information within strings. As patterns are given using the familiar format 
        string specification :pep:`3101`, writing them is much easier than writing 
        regular expressions (albeit less powerful).
        
        
        Examples
        --------
        
        You can build a reusable parser object::
        
            >>> parser = Parser('The answer is {:d}')
            >>> parser('The answer is 42')
            42
            >>> parser('The answer is 54')
            54
        
        Or directly::
        
            >>> Parser('The answer is {:d}')('The answer is 42')
            42
        
        You can retrieve many fields::
        
            >>> Parser('The {:s} is {:d}')('The answer is 42')
            ('answer', 42)
        
        And you can use numbered fields to order the returned tuple::
        
            >>> Parser('The {1:s} is {0:d}')('The answer is 42')
            (42, 'answer')
        
        Or named fields to return an OrderedDict::
        
            >>> Parser('The {a:s} is {b:d}')('The answer is 42')
            OrderedDict([('a', 'answer'), ('b', 42)])
        
        You can ignore some fields using _ as a name::
        
            >>> Parser('The {_:s} is {:d}')('The answer is 42')
            42
        
        
        Limitations
        -----------
        
        - From the format string:
          `[[fill]align][sign][#][0][minimumwidth][.precision][type]`
          only `type`, `sign` and `#` are currently implemented.
          This might cause trouble to match certain notation like:
        
          - decimal: '-4' written as '-     4'
          - etc
        
        - Lines are matched from beginning to end. {:d} will NOT return all
          the numbers in the string. Use regex for that.
          
        
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3.2
Classifier: Programming Language :: Python :: 2.7
Classifier: Topic :: Text Processing
