Skip to main content

Regular expression builder with chainable methods.

Project description

meaningful_re

Regular expression builder with chainable methods.

Instead of having to read and figure out the meaning of those weird strings, you can use an object to build your regex with methods with more sense.

Example

Let's say you want to make a regular expression like r'^[hc]at$', you can do it like this:

from meaningful_re import MeaningfulRE as MRE

mre = (MRE('[hc]')
    .concat('at')
    .match_start
    .match_end)

print mre.regex

Note: It doesn't matter if you use match_start or match_end at the beginning, middle or end of you chaining methods, when you show the regex they will be in their corresponding string position.

Or if you want to make an email regular expression like r'\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,}\b', not everybody can read that, but, with meaningful_re it makes more sense doing it.

from meaningful_re import MeaningfulRE as MRE

mre = (MRE()
    .word_boundary
    .any_of(MRE.RANGE_UPPERCASE_ALPHABET, MRE.RANGE_NUMBERS, '._%+-')
    .concat('+@')
    .any_of(MRE.RANGE_UPPERCASE_ALPHABET, MRE.RANGE_NUMBERS, '.-')
    .concat('+\.')
    .any_of(MRE.RANGE_UPPERCASE_ALPHABET).at_least(2)
    .word_boundary)

Another example using capturing group, if you would like to match all string starting with IMG and ending with either .png or jpeg like r'^(IMG\d+)\.(png|jpeg)$', can be built this way:

from meaningful_re import MeaningfulRE as MRE

mre = (MRE()
    .match_start
    .gi
        .one_or_more('IMG' + MRE.DIGIT)
    .ge
    .concat('\.')
    .gi
        .or_('png', 'jpeg')
    .ge)

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

meaningful_re-0.1.24.tar.gz (3.6 kB view details)

Uploaded Source

Built Distribution

meaningful_re-0.1.24-py3-none-any.whl (5.1 kB view details)

Uploaded Python 3

File details

Details for the file meaningful_re-0.1.24.tar.gz.

File metadata

  • Download URL: meaningful_re-0.1.24.tar.gz
  • Upload date:
  • Size: 3.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.9

File hashes

Hashes for meaningful_re-0.1.24.tar.gz
Algorithm Hash digest
SHA256 3b49580a2966488067a0ccc6829d937c3269ed3546e04b6ea7d0eb862ce9b790
MD5 bf83c8da3fbfed857e22ddfd54a81b53
BLAKE2b-256 1de096f88bb8fe3c89fad12f82e0c6b877b235b8f6a6d577d4836bdbe6a19bd7

See more details on using hashes here.

File details

Details for the file meaningful_re-0.1.24-py3-none-any.whl.

File metadata

  • Download URL: meaningful_re-0.1.24-py3-none-any.whl
  • Upload date:
  • Size: 5.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/46.3.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.6.9

File hashes

Hashes for meaningful_re-0.1.24-py3-none-any.whl
Algorithm Hash digest
SHA256 570daccdd0b62d85fbc29c0be20de56cdc3cf414bce2a06a738edc62b38ee6ce
MD5 9ed33496a44a7214856a4995255c59d0
BLAKE2b-256 8c24a35fe4b704ef4d9c66741de22d9511d2aae6efe93f8152a3a7766f31521b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page