Skip to main content



CommonRegex Improved (crim)

PyPI - Downloads Twitter Follow PyPI - Python Version PyPI reliability rating GitHub Workflow Status

An improved version of commonly used regular expressions in Python



Inspired by and improved upon CommonRegex

This is a collection of commonly used regular expressions. This library provides a simple API interface to match the strings corresponding to specified patterns.

Installation

pip install --upgrade commonregex-improved

Usage

import crim as CommonRegex

text = "John, please get that article on www.linkedin.com to me by 5:00PM on Jan 9th 2012. 4:00 would be ideal, actually or 5:30 P.M. If you have any questions, You can reach me at (519)-236-2723x341 or get in touch with my associate at harold_smith@gmail.com. You can find my ip address at 127.0.0.1 or at 64.248.67.225. I also have a secret protected with md5 8a2292371ee60f8212096c06fe3335fd. The internal webpage to get the article from is https://internal.sharepoint.edu.au"

date_list = CommonRegex.dates(text)
# ['Jan 9th 2012']
time_list = CommonRegex.times(text)
# ['5:00PM', '4:00 ', '5:30 P.M.']
url_list = CommonRegex.links(text)
# ['www.linkedin.com', 'gmail.com', 'https://internal.sharepoint.edu.au']
phone_list = CommonRegex.phones_with_exts(text)  
# ['(519)-236-2723x341']
ip_list = CommonRegex.ips(text)
# ['127.0.0.1', '64.248.67.225']
email_list = CommonRegex.emails(text)
# ['harold_smith@gmail.com']
md5_list = CommonRegex.md5_hashes(text)
# ['8a2292371ee60f8212096c06fe3335fd']

⚔️ Performance benchmark

CommonRegex is awesome!

So why re-implement the popular original commonregex project? The API calls to each of the regular expressions are really slow.

It takes 12 seconds for a total of 2999 calls to Dates function in the original version of CommonRegex. While the improved version of CommonRegex with the same number of calls merely takes 2 seconds.

improved

You can find more detailed results about original and improved versions.

Features / Supported Methods

  • dates(text: str)
  • times(text: str)
  • phones(text: str)
  • phones_with_exts(text: str)
  • links(text: str)
  • emails(text: str)
  • ipv4s(text: str)
  • ipv6s(text: str)
  • ips(text: str)
  • not_known_ports(text: str)
  • prices(text: str)
  • hex_colors(text: str)
  • credit_cards(text: str)
  • visa_cards(text: str)
  • master_cards(text: str)
  • btc_address(text: str)
  • street_addresses(text: str)
  • zip_codes(text: str)
  • po_boxes(text: str)
  • ssn_numbers(text: str)
  • md5_hashes(text: str)
  • sha1_hashes(text: str)
  • sha256_hashes(text: str)
  • isbn13s(text: str)
  • isbn10s(text: str)
  • mac_addresses(text: str)
  • iban_numbers(text: str)
  • git_repos(text: str)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

commonregex_improved-1.0.2.tar.gz (7.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

commonregex_improved-1.0.2-py3-none-any.whl (6.9 kB view details)

Uploaded Python 3

File details

Details for the file commonregex_improved-1.0.2.tar.gz.

File metadata

  • Download URL: commonregex_improved-1.0.2.tar.gz
  • Upload date:
  • Size: 7.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.9.16 Linux/5.15.0-1024-azure

File hashes

Hashes for commonregex_improved-1.0.2.tar.gz
Algorithm Hash digest
SHA256 3058fc11006aeab167204514c5f349b2b2102b8a8052b7b51548636d61b2d635
MD5 82edfd71855b804375be8d6193dc3bd0
BLAKE2b-256 e579b601923abef5bdd6fd11c9d0135f8a605610968583c5926d4406bc0855a5

See more details on using hashes here.

File details

Details for the file commonregex_improved-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: commonregex_improved-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 6.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.3.1 CPython/3.9.16 Linux/5.15.0-1024-azure

File hashes

Hashes for commonregex_improved-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 d395e542e8add9a87e0a00157a85d150c3fe33d1ddf37182c7528384c156a519
MD5 efddfb50ec5e3dedfbfa38472b09bf13
BLAKE2b-256 dcdec4ae3eeff61945fb1606e720816d296ae19e0271ad34662e0b78c2a2d4c1

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 files

1.0.1

2 files

1.0.0

2 files

0.0.5

2 files

0.0.4

2 files

0.0.3

2 files

0.0.2

2 files

0.0.1

2 files

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page