Skip to main content
Easy does it!

Easy does it!

easy-expressions Build Status

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)

Source distribution for easy-expressions 0.1.1
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

Release history Release notifications | RSS feed

This release

0.1.1 This release

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page