{ "info": { "author": "Rich Jones", "author_email": "rich@openwatch.net", "bugtrack_url": null, "classifiers": [ "Environment :: Console", "License :: OSI Approved :: Apache Software License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.6", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content" ], "description": ".. figure:: http://i.imgur.com/N7uilEZ.png\n :alt: Easy does it!\n\n Easy does it!\n\neasy-expressions |Build Status|\n===============================\n\nThe world's most gangsta regular expressions library.\n\nIt turns this..\n\n.. code:: python\n\n\n regex = re.compile(r'(?:(?:\\$){1,1})(?:(?:(?:\\d)){1,})(?:(?:\\.){1,1})(?:\\d)(?:\\d)')\n\ninto this!\n\n.. code:: python\n\n from easy_expressions import Easy\n\n easy = Easy() / \n .find(\"$\") /\n .min(1).digits() /\n .then(\".\") /\n .digit() /\n .digit()\n\n regex = easy.getRegex()\n regex.findall(\"$10.00\");\n\nAbout\n-----\n\n*easy-expressions* is a python regular expressions library with a\n`Python for\nHumans `__\nphilosophy. Rather than having to remember the complex regular\nexpressions syntax, *easy-expressions* allows you to write complicated\nregular expressions in natural English, so you'll get your pattern\nmatches right the first time without any headache.\n\nInstallation\n------------\n\n::\n\n pip install easy-expressions\n\nExamples\n--------\n\nSearching for dollar amounts\n~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n from easy_expressions import Easy\n\n easy = Easy() / \n .find(\"$\") /\n .min(1).digits() /\n .then(\".\") /\n .digit() /\n .digit()\n\n regex.test(\"$10.00\"); # True\n regex.test(\"$XX.YZ\"); # False\n\nSearching for Credit Cards\n~~~~~~~~~~~~~~~~~~~~~~~~~~\n\n.. code:: python\n\n\n easy = Easy() \\\n .startOfLine() \\\n .exactly(4).digits() \\\n .then('-') \\\n .exactly(4).digits() \\\n .then('-') \\\n .exactly(4).digits() \\\n .then('-') \\\n .exactly(4).digits()\n\n input_s = \"Hey Joe! The credit card number for the invoice is 4444-5555-6666-7777. Thanks!\"\n easy.test(input_s) # True\n\n input_s = \"Hey Joe! The credit card number for the invoice is 1-2-3-4. Thanks!\"\n easy.test(input_s) # False\n\nInspiration\n-----------\n\nRegexes are hard when they should be easy.\n\nI had this idea while watching Straight Outta Compton. Turns out\n[@thebinarysearchtree](https://github.com/thebinarysearchtree/) had\nalready `implemented it in\nJS `__, so this\nis essentially a port of that.\n\nContributing\n------------\n\nThis software is still quite young and I'm certain there are still bugs\nin it. If you find bugs or want new features included, please create a\nnew Issue and send a pull request, along with an accompanying test.\nThanks!\n\nOther Easy Projects\n-------------------\n\nIf you like easy things, you may also enjoy:\n\n- `django-easy-api `__\n- `django-easy-split `__\n- `django-easy-timezones `__\n- `django-knockout-modeler `__\n- `simpleaws `__\n\nLicense\n-------\n\nMIT, 2015.\n\n.. |Build Status| image:: https://travis-ci.org/Miserlou/easy-expressions.svg\n :target: https://travis-ci.org/Miserlou/easy-expressions", "description_content_type": null, "docs_url": null, "download_url": "UNKNOWN", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Miserlou/easy-expressions", "keywords": null, "license": "MIT License", "maintainer": null, "maintainer_email": null, "name": "easy-expressions", "package_url": "https://pypi.org/project/easy-expressions/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/easy-expressions/", "project_urls": { "Download": "UNKNOWN", "Homepage": "https://github.com/Miserlou/easy-expressions" }, "release_url": "https://pypi.org/project/easy-expressions/0.1.1/", "requires_dist": null, "requires_python": null, "summary": "Really, really easy regular expressions for python.", "version": "0.1.1" }, "last_serial": 1791552, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "3a05d08fdd813494899fcae12d20d390", "sha256": "76e761609374f6453f89d857fba5f04a0d9c60fae197edaf02d6802e297758a1" }, "downloads": -1, "filename": "easy-expressions-0.1.0.tar.gz", "has_sig": false, "md5_digest": "3a05d08fdd813494899fcae12d20d390", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4116, "upload_time": "2015-08-25T04:56:28", "url": "https://files.pythonhosted.org/packages/67/7b/492a6889539d075914eae0052c7af713fd2f699445bacb629e29037c33a5/easy-expressions-0.1.0.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "694ff75b897d1a168470a637b87bda67", "sha256": "daec75889a1a86314f7bd2d1f76a62ed075acc5692236a37c818d2df985c9913" }, "downloads": -1, "filename": "easy-expressions-0.1.1.tar.gz", "has_sig": false, "md5_digest": "694ff75b897d1a168470a637b87bda67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4919, "upload_time": "2015-10-29T09:05:32", "url": "https://files.pythonhosted.org/packages/dc/4f/2c676b98841ad01c66c122b2d6048f5ff21354edeed6b94a6fbe9a9891d7/easy-expressions-0.1.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "694ff75b897d1a168470a637b87bda67", "sha256": "daec75889a1a86314f7bd2d1f76a62ed075acc5692236a37c818d2df985c9913" }, "downloads": -1, "filename": "easy-expressions-0.1.1.tar.gz", "has_sig": false, "md5_digest": "694ff75b897d1a168470a637b87bda67", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4919, "upload_time": "2015-10-29T09:05:32", "url": "https://files.pythonhosted.org/packages/dc/4f/2c676b98841ad01c66c122b2d6048f5ff21354edeed6b94a6fbe9a9891d7/easy-expressions-0.1.1.tar.gz" } ] }