Metadata-Version: 1.1
Name: easy-expressions
Version: 0.1.1
Summary: Really, really easy regular expressions for python.
Home-page: https://github.com/Miserlou/easy-expressions
Author: Rich Jones
Author-email: rich@openwatch.net
License: MIT License
Description: .. figure:: http://i.imgur.com/N7uilEZ.png
           :alt: Easy does it!
        
           Easy does it!
        
        easy-expressions |Build Status|
        ===============================
        
        The world's most gangsta regular expressions library.
        
        It turns this..
        
        .. code:: python
        
        
            regex = re.compile(r'(?:(?:\$){1,1})(?:(?:(?:\d)){1,})(?:(?:\.){1,1})(?:\d)(?:\d)')
        
        into this!
        
        .. code:: python
        
            from easy_expressions import Easy
        
            easy = Easy() / 
              .find("$") /
              .min(1).digits() /
              .then(".") /
              .digit() /
              .digit()
        
            regex = easy.getRegex()
            regex.findall("$10.00");
        
        About
        -----
        
        *easy-expressions* is a python regular expressions library with a
        `Python for
        Humans <https://speakerdeck.com/kennethreitz/python-for-humans>`__
        philosophy. Rather than having to remember the complex regular
        expressions syntax, *easy-expressions* allows you to write complicated
        regular expressions in natural English, so you'll get your pattern
        matches right the first time without any headache.
        
        Installation
        ------------
        
        ::
        
            pip install easy-expressions
        
        Examples
        --------
        
        Searching for dollar amounts
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. code:: python
        
            from easy_expressions import Easy
        
            easy = Easy() / 
              .find("$") /
              .min(1).digits() /
              .then(".") /
              .digit() /
              .digit()
        
            regex.test("$10.00"); # True
            regex.test("$XX.YZ"); # False
        
        Searching for Credit Cards
        ~~~~~~~~~~~~~~~~~~~~~~~~~~
        
        .. code:: python
        
        
            easy = Easy() \
                    .startOfLine() \
                    .exactly(4).digits() \
                    .then('-') \
                    .exactly(4).digits() \
                    .then('-') \
                    .exactly(4).digits() \
                    .then('-') \
                    .exactly(4).digits()
        
            input_s = "Hey Joe! The credit card number for the invoice is 4444-5555-6666-7777. Thanks!"
            easy.test(input_s) # True
        
            input_s = "Hey Joe! The credit card number for the invoice is 1-2-3-4. Thanks!"
            easy.test(input_s) # False
        
        Inspiration
        -----------
        
        Regexes are hard when they should be easy.
        
        I had this idea while watching Straight Outta Compton. Turns out
        [@thebinarysearchtree](https://github.com/thebinarysearchtree/) had
        already `implemented it in
        JS <https://github.com/thebinarysearchtree/regexpbuilderjs>`__, so this
        is essentially a port of that.
        
        Contributing
        ------------
        
        This software is still quite young and I'm certain there are still bugs
        in it. If you find bugs or want new features included, please create a
        new Issue and send a pull request, along with an accompanying test.
        Thanks!
        
        Other Easy Projects
        -------------------
        
        If you like easy things, you may also enjoy:
        
        -  `django-easy-api <https://github.com/Miserlou/django-easy-api>`__
        -  `django-easy-split <https://github.com/Miserlou/django-easy-split>`__
        -  `django-easy-timezones <https://github.com/Miserlou/django-easy-timezones>`__
        -  `django-knockout-modeler <https://github.com/Miserlou/django-knockout-modeler>`__
        -  `simpleaws <https://github.com/Miserlou/simpleaws>`__
        
        License
        -------
        
        MIT, 2015.
        
        .. |Build Status| image:: https://travis-ci.org/Miserlou/easy-expressions.svg
           :target: https://travis-ci.org/Miserlou/easy-expressions
        
Platform: UNKNOWN
Classifier: Environment :: Console
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
