Metadata-Version: 1.1
Name: oore
Version: 0.2.1
Summary: Object-Oriented Regular Expressions
Home-page: https://github.com/DasIch/oore
Author: Daniel Neuhäuser
Author-email: ich@danielneuhaeuser.de
License: UNKNOWN
Description: OORE
        ====
        
        OORE (Object oriented regular expressions) is a python library that attempts
        to provide an object oriented layer above the `re` standard library.
        
        The idea behind this project is to enable users to create and combine regular
        expressions programmatically. The `re` module which is a more or less simple
        wrapper over an underlying C library doesn't provide any interface that truly
        makes this possible, which means that especially complex regular expressions
        need to be generated by concatenating strings.
        
        This means that dealing with such code is annoying, difficult, and error-prone.
        
        To give you an example, this is how you would create a regular expression that
        matches a `Unicode Language Identifier`_::
        
                from oore import r
        
                digit = r(u'[0-9]')
                alpha = r(u'[A-Za-z')
                alphanum = r(u'[0-9A-Za-z]')
                unicode_variant_subtag = alphanum[5, 8] | (digit + alphanum[3])
                unicode_region_subtag = alpha[2] | digit[3]
                unicode_script_subtag = alpha[4]
                unicode_language_subtag = alpha[2, 8]
                sep = r(u'[-_]')
        
                unicode_language_id = r(u'root') | (
                    unicode_language_subtag +
                    (sep + unicode_script_subtag)[0, 1] +
                    (sep + unicode_region_subtag)[0, 1] +
                    (sep + unicode_variant_subtag)[0, ...]
                )
        
        
        .. _Unicode Language Identifier: http://www.unicode.org/reports/tr35/#Unicode_language_identifier
        
        This can now be used like a `re.RegexObject`, to get a `re.MatchObject` you
        simply use the `.match()` method::
        
                match = unicode_language_id.match('de-DE')
        
Platform: UNKNOWN
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
