You're Invited: Meet the Socket team at BSidesSF and RSAC - April 27 - May 1.RSVP
Socket
Sign inDemoInstall
Socket

hlre

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

hlre

Interactively highlight regular expression matches

0.1.0
PyPI
Maintainers
1

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
    

FAQs

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts