Interactively highlight regular expression matches
Project description
hlre
Interactively highlight regular expression matches.
What?
A TUI application that shows the matches of a (python-flavored) regular expression as you type it.
Why?
I really like using RegExr, but it uses the javascript regex engine and there are some subtle differences between the results there and what you get with python.
Installation
python3 -m pip install hlre
Usage
TLDR
-
Run
hlre -f nginx.log
-
Type a regex and see the matches highlighted in
nginx.log
. -
Press
Control-C
to exit.
Input Sources
You can either highlight matches with the built-in example text, a string passed on the command line, or in an external file.
-
Built-in Demo Text
hlre --demo-text
-
String
hlre --text 'This is the regular expression subject.'
-
External File
hlre --file nginx.log
Reading in the whole file can slow this tool down quite a bit, so you probably want to do something like:
hlre --file <(head -n 10 nginx.log)
To look at just the first 10 lines.
Highlighting All Matches
By default, each line is treated as a seperate subject to match the regex on.
To highlight all matches in the subject, use the -a
flag:
hlre --demo-text -a
# OR
hlre --file nginx.log --all
This uses re.finditer
and the re.MULTILINE
flag under the hood.
Customizing Highlight Styles
hlre
uses prompt toolkit's HTML functionality, so any tag name that works
there should work here. This tool does not currently support any custom
attributes on tags (e.g style="..."
).
Here are some examples:
-
Underline the entire match, highlight capture groups in a dark red
hlre --demo-text --highlight-style u --group-highlight-style firebrick
-
Highlight the entire match in green, bold the capture groups
hlre --demo-text -s green -g b
-
Italicize the entire match, highlight capture groups in cyan
hlre --demo-text -s i -g cyan
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file hlre-0.1.0.macosx-10.7-x86_64.tar.gz
.
File metadata
- Download URL: hlre-0.1.0.macosx-10.7-x86_64.tar.gz
- Upload date:
- Size: 8.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6a90b701902ffc8f30ed13e44483fe1a8d7c9ce170c7f0a07f0d7d29ff6cafc0 |
|
MD5 | 85c8f360bf00805899dc7a5852f931d3 |
|
BLAKE2b-256 | b122e7425b3ac6f82476de191d8aa37e134c916ba0689a23c28de9c986a09f60 |
File details
Details for the file hlre-0.1.0-py3-none-any.whl
.
File metadata
- Download URL: hlre-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/2.0.0 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.46.0 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0b9817e19c0206f5b3e22ad234a2b80f7306fc69d0c2cd14bff34942229e6ca2 |
|
MD5 | 21191eb2e8816b41686dd248b420f4f5 |
|
BLAKE2b-256 | 60f6fcf3869e87991a39332a4e8a1403481e211c096c1c322e2e753994e09bbd |