{ "info": { "author": "Tobias Litherland", "author_email": "tobiaslland@gmail.com", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# tregex\n[![Build Status](https://travis-ci.org/tobiasli/tregex.svg?branch=master)](https://travis-ci.org/tobiasli/tregex)
\n[![Coverage Status](https://coveralls.io/repos/github/tobiasli/tregex/badge.svg?branch=master)](https://coveralls.io/github/tobiasli/tregex?branch=master)
\n[![PyPI version](https://badge.fury.io/py/tregex-tobiasli.svg)](https://badge.fury.io/py/tregex-tobiasli)
\n\n`tregex` is a wrapper around Python regular expressions that makes usage smoother and more user friendly.\n\n## Install\n\n```\npip install tregex-tobiasli\n```\n\n## Usage\n\n```python\nimport tregex as tr\n\nt = tr.to_tuple(pattern='([^;]+?)@(.+?)\\.([^;]+)', string='john.smith@somewhere.co.uk; hackzor@coolface.com')\nassert t[0][1] == 'somewhere'\nassert t[1][2] == 'com'\n\npattern = '(?P[^;]+?)@(?P
.+?)\\.(?P[^;]+)'\nt = tr.to_dict(pattern=pattern, string='john.smith@somewhere.co.uk; hackzor@coolface.com')\nassert t[0]['name'] == 'john.smith'\nassert t[1]['address'] == 'coolface'\n\nt = tr.to_object(pattern=pattern, string='john.smith@somewhere.co.uk; hackzor@coolface.com')\nassert t[0].name == 'john.smith'\nassert t[1].address == 'coolface'\n```\n\nThe above methods patterns can be either a string or a compiled regular expression. `TregexCompiled` is a class for simply\ncontaining the compiled regex to be run on the above methods. If patterns are long, this usage will speed things up\nconsiderably.\n\n```python\nfrom tregex import TregexCompiled\n\npattern = '(?P[^;]+?)@(?P
.+?)\\.(?P[^;]+)'\ntrc = TregexCompiled(pattern)\n\nt = trc.to_object('john.smith@somewhere.co.uk; hackzor@coolface.com')\n\nassert t[0].name == 'john.smith'\n```\n\ntregex also contains some methods for simply fuzzy text matching using `difflib.SequenceMatcher`:\n\n```python\nfrom tregex import find_best\n\nplaces_in_wales = ['Llanaber', 'Llanaelhaearn', 'Llanbedr', 'Llandbedrgoch', 'Llanbedrog', 'Llanberis', 'Llandanwg', 'Llanegryn', 'Llandegwning', 'Llandeiniolen', 'Llandwrog']\n\nbest = find_best('Llanberris', places_in_wales)\nassert best == 'Llanberis'\n```\n\nThe other methods are `find`, `find_scores` (returns the matched scores along with the candidate) and `similarity` (which\nreturns the score between a single pair of strings).", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/tobiasli/tregex", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "tregex-tobiasli", "package_url": "https://pypi.org/project/tregex-tobiasli/", "platform": "", "project_url": "https://pypi.org/project/tregex-tobiasli/", "project_urls": { "Homepage": "https://github.com/tobiasli/tregex" }, "release_url": "https://pypi.org/project/tregex-tobiasli/1.0.3/", "requires_dist": null, "requires_python": "", "summary": "Wrapper for more functionality out of regex parse results.", "version": "1.0.3", "yanked": false, "yanked_reason": null }, "last_serial": 6148303, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "13d5461d4017dbf3a02c054f5ec7f3e4", "sha256": "95bcfd934dc70a08496cb1697283b246a1d609b1236b389ae11210219439fa5f" }, "downloads": -1, "filename": "tregex_tobiasli-1.0-py3-none-any.whl", "has_sig": false, "md5_digest": "13d5461d4017dbf3a02c054f5ec7f3e4", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 6237, "upload_time": "2019-03-25T21:14:19", "upload_time_iso_8601": "2019-03-25T21:14:19.078944Z", "url": "https://files.pythonhosted.org/packages/65/7f/fc36adad4a1aead5d73fe3d1b3a8b53396eefa8e3fefe72637cf8ff55d0f/tregex_tobiasli-1.0-py3-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "0ff8f4b1e6412c864ccf2592a9976d02", "sha256": "24d7e4e9d07c433e0013abd3841a1ab98f158629db52b396bb8888aaba29937d" }, "downloads": -1, "filename": "tregex-tobiasli-1.0.tar.gz", "has_sig": false, "md5_digest": "0ff8f4b1e6412c864ccf2592a9976d02", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4920, "upload_time": "2019-03-25T21:14:21", "upload_time_iso_8601": "2019-03-25T21:14:21.130072Z", "url": "https://files.pythonhosted.org/packages/bd/15/32985404d7a07c1fbb9a8396823afafded381ba769e0a516bbe315097a5b/tregex-tobiasli-1.0.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "7fee68744c29d192c9281297ce311c88", "sha256": "e52f2f5d5afd00a0a25007db9f1e190fc2dea593edad053f285c6d69f24c71c7" }, "downloads": -1, "filename": "tregex-tobiasli-1.0.1.tar.gz", "has_sig": false, "md5_digest": "7fee68744c29d192c9281297ce311c88", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4803, "upload_time": "2019-03-25T21:19:54", "upload_time_iso_8601": "2019-03-25T21:19:54.227840Z", "url": "https://files.pythonhosted.org/packages/9d/5c/8fccdce81d59c8ea278e4918eb61b1856a2b945abf135e93cf5bd332228f/tregex-tobiasli-1.0.1.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "a0e641b6e1996026f414ad459d2c6949", "sha256": "f1c79e9977a8638373aa7df7610f5b48cc0e41b054355d233b5a9a88ead7d3ee" }, "downloads": -1, "filename": "tregex-tobiasli-1.0.2.tar.gz", "has_sig": false, "md5_digest": "a0e641b6e1996026f414ad459d2c6949", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4903, "upload_time": "2019-10-27T12:23:33", "upload_time_iso_8601": "2019-10-27T12:23:33.562779Z", "url": "https://files.pythonhosted.org/packages/24/f1/afbeaebc428b8abfbdefa0a6ab359ed92058265b9761250fc3d4c0b03e17/tregex-tobiasli-1.0.2.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.3": [ { "comment_text": "", "digests": { "md5": "bac6d132acfa2f80c520f6a25cd12328", "sha256": "b5dcbf38aa42b1154f724fb63f540e3d26c06c01b94240543ca42d6e4866f0eb" }, "downloads": -1, "filename": "tregex-tobiasli-1.0.3.tar.gz", "has_sig": false, "md5_digest": "bac6d132acfa2f80c520f6a25cd12328", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4918, "upload_time": "2019-11-16T21:14:16", "upload_time_iso_8601": "2019-11-16T21:14:16.521960Z", "url": "https://files.pythonhosted.org/packages/0e/e1/f60fb772a6e2a30977a69567a594268fae2f06b2f29f0ed0d2d1e99675af/tregex-tobiasli-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "bac6d132acfa2f80c520f6a25cd12328", "sha256": "b5dcbf38aa42b1154f724fb63f540e3d26c06c01b94240543ca42d6e4866f0eb" }, "downloads": -1, "filename": "tregex-tobiasli-1.0.3.tar.gz", "has_sig": false, "md5_digest": "bac6d132acfa2f80c520f6a25cd12328", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4918, "upload_time": "2019-11-16T21:14:16", "upload_time_iso_8601": "2019-11-16T21:14:16.521960Z", "url": "https://files.pythonhosted.org/packages/0e/e1/f60fb772a6e2a30977a69567a594268fae2f06b2f29f0ed0d2d1e99675af/tregex-tobiasli-1.0.3.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }