Easy does it!
easy-expressions 
The world’s most gangsta regular expressions library.
It turns this..
regex = re.compile(r'(?:(?:\$){1,1})(?:(?:(?:\d)){1,})(?:(?:\.){1,1})(?:\d)(?:\d)')
into this!
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 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
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
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, 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:
License
MIT, 2015.
Release files for easy-expressions 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| easy-expressions-0.1.1.tar.gz | 4.9 kB | Details |
Release files / easy-expressions-0.1.1.tar.gz
| Download URL | easy-expressions-0.1.1.tar.gz |
|---|---|
| Size | 4.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
daec75889a1a86314f7bd2d1f76a62ed075acc5692236a37c818d2df985c9913
|
|
BLAKE2b-256 checksum How to use checksums |
dc4f2c676b98841ad01c66c122b2d6048f5ff21354edeed6b94a6fbe9a9891d7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |