Wrapper for more functionality out of regex parse results.
Project description
tregex
tregex
is a wrapper around Python regular expressions that makes usage smoother and more user friendly.
Install
pip install tregex-tobiasli
Usage
import tregex as tr
t = tr.to_tuple(pattern='([^;]+?)@(.+?)\.([^;]+)', string='john.smith@somewhere.co.uk; hackzor@coolface.com')
assert t[0][1] == 'somewhere'
assert t[1][2] == 'com'
pattern = '(?P<name>[^;]+?)@(?P<address>.+?)\.(?P<domain>[^;]+)'
t = tr.to_dict(pattern=pattern, string='john.smith@somewhere.co.uk; hackzor@coolface.com')
assert t[0]['name'] == 'john.smith'
assert t[1]['address'] == 'coolface'
t = tr.to_object(pattern=pattern, string='john.smith@somewhere.co.uk; hackzor@coolface.com')
assert t[0].name == 'john.smith'
assert t[1].address == 'coolface'
The above methods patterns can be either a string or a compiled regular expression. TregexCompiled
is a class for simply
containing the compiled regex to be run on the above methods. If patterns are long, this usage will speed things up
considerably.
from tregex import TregexCompiled
pattern = '(?P<name>[^;]+?)@(?P<address>.+?)\.(?P<domain>[^;]+)'
trc = TregexCompiled(pattern)
t = trc.to_object('john.smith@somewhere.co.uk; hackzor@coolface.com')
assert t[0].name == 'john.smith'
tregex also contains some methods for simply fuzzy text matching using difflib.SequenceMatcher
:
from tregex import find_best
places_in_wales = ['Llanaber', 'Llanaelhaearn', 'Llanbedr', 'Llandbedrgoch', 'Llanbedrog', 'Llanberis', 'Llandanwg', 'Llanegryn', 'Llandegwning', 'Llandeiniolen', 'Llandwrog']
best = find_best('Llanberris', places_in_wales)
assert best == 'Llanberis'
The other methods are find
, find_scores
(returns the matched scores along with the candidate) and similarity
(which
returns the score between a single pair of strings).
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file tregex-tobiasli-1.0.3.tar.gz
.
File metadata
- Download URL: tregex-tobiasli-1.0.3.tar.gz
- Upload date:
- Size: 4.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.6.0 requests-toolbelt/0.9.1 tqdm/4.38.0 CPython/3.7.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5dcbf38aa42b1154f724fb63f540e3d26c06c01b94240543ca42d6e4866f0eb |
|
MD5 | bac6d132acfa2f80c520f6a25cd12328 |
|
BLAKE2b-256 | 0ee1f60fb772a6e2a30977a69567a594268fae2f06b2f29f0ed0d2d1e99675af |