Skip to main content
trrex logo
 
Trrex Downloads PyPI Version Package Status Code Coverage Status Documentation Status

Efficient string matching with regular expressions

This package includes a pure Python function that enables you to represent a set of strings as a regular expression. With this regular expression, you can perform various operations, such as replacing, extracting and matching keywords. The name of the package comes from the internal trie used to build the regular expression (TRie to REgeX)

Install trrex

Use pip,

pip install trrex

Usage

import trrex as tx
import re

pattern = tx.make(['baby', 'bat', 'bad'])
hits = re.findall(pattern, 'The baby was scared by the bad bat.')
# hits = ['baby', 'bat', 'bad']

pandas

import trrex as tx
import pandas as pd

frame = pd.DataFrame({
    "txt": ["The baby", "The bat"]
})
pattern = tx.make(['baby', 'bat', 'bad'], prefix=r"\b(", suffix=r")\b") # need to specify capturing groups
frame["match"] = frame["txt"].str.extract(pattern)
hits = frame["match"].tolist()
print(hits)
# hits = ['baby', 'bad']

Why use trrex?

  • trrex builds a better regex pattern, than the simple regex union, therefore searching (and replacing) strings is about 300 times faster than a regex union pattern, and about 2.5 times faster than FlashText algorithm. See below for a performance comparison:

Performance comparison

  • Plays well with others, can be integrated easily with pandas, spacy and any other regex engine. See the documentation for examples.
  • Pure Python, no other dependencies

Issues

If you have any issues with this repository, please don't hesitate to raise them. It is actively maintained, and we will do our best to help you.

Acknowledgments

This project is based on the following resources:

Liked the work?

If you've found this repository helpful, why not give it a star? It's an easy way to show your appreciation and support for the project. Plus, it helps others discover it too!

Metadata

Release files for trrex 0.0.7

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for trrex 0.0.7
File Size Uploaded
trrex-0.0.7.tar.gz 195.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for trrex 0.0.7
File Interpreter ABI Platform
trrex-0.0.7-py3-none-any.whl Python 3 none any Details

Total release size: 203.4 kB

Release files / trrex-0.0.7.tar.gz

Download URL trrex-0.0.7.tar.gz
Size 195.9 kB
Tags Source
SHA-256 checksum
How to use checksums
22eeee67cde87ff178b61e5ee2607b2ae5cc694f0b3e6eabd0158f4d8389e6a8
BLAKE2b-256 checksum
How to use checksums
b285780675f83e6e07d8f4ab037ee9db2c981d3ab7da160b9bffafa9130bfc4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.8.0

Release files / trrex-0.0.7-py3-none-any.whl

Download URL trrex-0.0.7-py3-none-any.whl
Size 7.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
2f20144dfe549d2b64add8b24e681895d6ebe10d17f27d15f4cdfa212186ff47
BLAKE2b-256 checksum
How to use checksums
d4b3097b58de339af08d12d5e2b5c73ca33684e91be3d8a32428ea23d557d776
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.8.0

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

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