Efficient string matching with regular expressions
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

- Plays well with others, can be integrated easily with pandas, spacy and any other regex engine. See the documentation
- 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:
