{ "info": { "author": "Karol Kuczmarski", "author_email": "", "bugtrack_url": null, "classifiers": [ "Development Status :: 3 - Alpha", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Software Development :: Testing", "Topic :: Text Processing :: General" ], "description": "unmatcher\n=========\n\n*unmatcher* tries to solve the following problem:\n\n *Given a regular expression, find any string that matches the expression.*\n\nWhy? Mostly just because. But one possible application is to generate test data for string processing functions.\n\n\nStatus\n~~~~~~\n\n|Version| |License| |Build Status|\n\n.. |Version| image:: https://badge.fury.io/py/unmatcher.png\n :alt: PyPI package version\n :target: http://badge.fury.io/py/unmatcher\n.. |License| image:: https://img.shields.io/pypi/l/unmatcher.svg?style=flat\n :target: https://github.com/Xion/unmatcher/blob/master/LICENSE\n :alt: License\n.. |Build Status| image:: https://secure.travis-ci.org/Xion/unmatcher.png\n :alt: Build Status\n :target: http://travis-ci.org/Xion/unmatcher\n\nMost typical elements of regexes are supported:\n\n* multipliers: ``*``, ``+``\n* capture groups: ``|``, ``( )`` (including backreferences)\n* character classes (``\\d|\\w|\\s`` etc.) and character sets (``[]``)\n\n\nAPI\n~~~\n\n``unmatcher`` module exposes a single ``reverse`` function.\nIt takes a regular expression - either in text or compiled form - and returns a random string that matches it::\n\n >>> import unmatcher\n >>> print unmatcher.reverse(r'\\d')\n 7\n\nAdditional arguments can be provided, specifying predefined values for capture groups\ninside the expression. Use positional arguments for numbered groups (``'\\1'``, etc.)::\n\n >>> import unmatcher\n >>> print unmatcher.reverse(r'<(\\w+)>.*', 'h1')\n

1NLNVlrOT4YGyHV3vD7cHvrAl8OHVWDPKgmaE4gUsctboyFYUx

\n\nand keyword arguments for named groups::\n\n >>> import unmatcher\n >>> print unmatcher.reverse('(?P\\w+)__(?P=foo)', foo='bar')\n bar__bar\n\nNote that a predefined value is *not* validated against actual subexpression for the capture group.", "description_content_type": null, "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Xion/unmatcher", "keywords": "", "license": "Simplified BSD", "maintainer": "", "maintainer_email": "", "name": "unmatcher", "package_url": "https://pypi.org/project/unmatcher/", "platform": "any", "project_url": "https://pypi.org/project/unmatcher/", "project_urls": { "Homepage": "https://github.com/Xion/unmatcher" }, "release_url": "https://pypi.org/project/unmatcher/0.1.4/", "requires_dist": null, "requires_python": "", "summary": "Regular expression reverser for Python", "version": "0.1.4" }, "last_serial": 3178747, "releases": { "0.0.1": [ { "comment_text": "", "digests": { "md5": "0ca4f98ddee9483d2aa36da9c8c67e9d", "sha256": "e718b3225835d00c7f2f371b731adcaba3f597a6f4c3a3d059bbdb16b5088899" }, "downloads": -1, "filename": "unmatcher-0.0.1.tar.gz", "has_sig": false, "md5_digest": "0ca4f98ddee9483d2aa36da9c8c67e9d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4683, "upload_time": "2013-09-02T17:31:29", "url": "https://files.pythonhosted.org/packages/f7/4f/db1071d934cdae9e48b0b99d35c4f7e3cac4189bb6db75b5553200c9890a/unmatcher-0.0.1.tar.gz" } ], "0.0.2": [ { "comment_text": "", "digests": { "md5": "5c8bb2cc65302b147596a6105087979f", "sha256": "e40aee9e0b6f7b6a00a9751a2197b992adb92eb680ae5cf931ca1ba75e215f48" }, "downloads": -1, "filename": "unmatcher-0.0.2.tar.gz", "has_sig": false, "md5_digest": "5c8bb2cc65302b147596a6105087979f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4867, "upload_time": "2013-09-08T08:37:28", "url": "https://files.pythonhosted.org/packages/44/44/b17e5bb91ad50822a39709a3f868db7fb21211315c3ab1e52bdf52487471/unmatcher-0.0.2.tar.gz" } ], "0.1": [ { "comment_text": "", "digests": { "md5": "e76574e56ded58d9c86ba607bddb11d3", "sha256": "6640ce412b65accc60fac8c44578db70927ec5b74870c6e3691da82ee39da854" }, "downloads": -1, "filename": "unmatcher-0.1.tar.gz", "has_sig": false, "md5_digest": "e76574e56ded58d9c86ba607bddb11d3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4788, "upload_time": "2013-09-08T12:45:10", "url": "https://files.pythonhosted.org/packages/61/a3/62c210f2535dd7e1faf3f695b88eec77a1c24dd2ee16f49a5bc6cf595326/unmatcher-0.1.tar.gz" } ], "0.1.1": [ { "comment_text": "", "digests": { "md5": "0250aca7b5620ba877585b68c42d38ba", "sha256": "4233e8342b8caf5ed36bd7f877a2e562c209a6c8777b6d4fb09df68f44d4f4e1" }, "downloads": -1, "filename": "unmatcher-0.1.1.tar.gz", "has_sig": false, "md5_digest": "0250aca7b5620ba877585b68c42d38ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4889, "upload_time": "2013-09-09T05:55:05", "url": "https://files.pythonhosted.org/packages/8f/4c/64de6906e840ba8a59ca25f2b93b4cbac4bb7ff99c0965f22c9b4bc54393/unmatcher-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "fbfc8f8be4fd0807b25c58b46e11c9d7", "sha256": "cf076c2e41b9e94c966c81d4018e6ed803d8641f37ba7f050c8ea1912eb6ce87" }, "downloads": -1, "filename": "unmatcher-0.1.2.tar.gz", "has_sig": false, "md5_digest": "fbfc8f8be4fd0807b25c58b46e11c9d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5180, "upload_time": "2013-09-15T20:16:56", "url": "https://files.pythonhosted.org/packages/93/fd/6fa7648f9c980c50c482e653a83b136faeb10a62ce2b8718445484323860/unmatcher-0.1.2.tar.gz" } ], "0.1.3": [ { "comment_text": "", "digests": { "md5": "a504be2de12c5dd05268c76f3c2bcf04", "sha256": "3a6d9cac671a6dcf3969bad20ca5369a67814a008cd44909e3d4e69ccc55937b" }, "downloads": -1, "filename": "unmatcher-0.1.3.tar.gz", "has_sig": false, "md5_digest": "a504be2de12c5dd05268c76f3c2bcf04", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5353, "upload_time": "2013-11-13T04:55:21", "url": "https://files.pythonhosted.org/packages/c9/c7/99c2268a8fd4d6f4de0f6b66e30ffbd014aae605f94ecdd011c3b02b15d6/unmatcher-0.1.3.tar.gz" } ], "0.1.3.1": [ { "comment_text": "", "digests": { "md5": "3dc721d144cd8076470eebc0aa5e4508", "sha256": "9b796e7959f342244197bd91f82c57a72502b17fb413a2e78c7733b328596f94" }, "downloads": -1, "filename": "unmatcher-0.1.3.1.tar.gz", "has_sig": false, "md5_digest": "3dc721d144cd8076470eebc0aa5e4508", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5359, "upload_time": "2013-12-06T19:45:05", "url": "https://files.pythonhosted.org/packages/5d/64/efa820ea197363235fedd5b6e1fba0c0348b6bb8e6905efa3e79f79fd582/unmatcher-0.1.3.1.tar.gz" } ], "0.1.4": [ { "comment_text": "", "digests": { "md5": "d86daba09147446606e812e41ea8d719", "sha256": "d53129eae915230c0db238315b76251cdc9df8ad12a28ca149028de3259f31b3" }, "downloads": -1, "filename": "unmatcher-0.1.4.tar.gz", "has_sig": false, "md5_digest": "d86daba09147446606e812e41ea8d719", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7384, "upload_time": "2017-09-16T12:34:11", "url": "https://files.pythonhosted.org/packages/ac/9e/b999f4ff11f7e3fb55fa3182ab96804d2c74f661b8a9f624d3f7f44783b6/unmatcher-0.1.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "d86daba09147446606e812e41ea8d719", "sha256": "d53129eae915230c0db238315b76251cdc9df8ad12a28ca149028de3259f31b3" }, "downloads": -1, "filename": "unmatcher-0.1.4.tar.gz", "has_sig": false, "md5_digest": "d86daba09147446606e812e41ea8d719", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 7384, "upload_time": "2017-09-16T12:34:11", "url": "https://files.pythonhosted.org/packages/ac/9e/b999f4ff11f7e3fb55fa3182ab96804d2c74f661b8a9f624d3f7f44783b6/unmatcher-0.1.4.tar.gz" } ] }