News

Generate Regular Expressions with Grex CLI

Published
Generate Regular Expressions with Grex CLI image

Grex is a command-line tool and library for generating regular expressions from user-provided test cases. Grex is both a library (Rust) and a command-line tool meant to simplify creating regular expressions.

Here's a simple example from the project's readme to help you visualize how it works as a CLI tool for building regexes:

grex -c \
"regexes are awesome" \
"regexes are awful"
^regexes are aw(?:esome|ful)$

While Grex is awesome at creating a valid regex based on input, you can, of course, refine and optimize the regular expression further. Let's say you provide a list of URLs that you want to match via Grex. You might intend to support both HTTP and HTTPS for all domains, but the example provided doesn't include the HTTP version of all domains you want to match:

grex -c \
"https://example.com" \
"https://example.org" \
"http://example.net" \
"https://example.net"
 
^http(?:s://example\.(?:com|net|org)|://example\.net)$

Here's an example of visualizing how the above samples would match against additional output:

Perhaps you could further optimize this pattern using something like the following regex:

https?://example\.(com|org|net)

Understand that while the first example is technically accurate based on the input provided, you might not be providing enough sample data to build the expected regex. This example is just to illustrate how to use Grex works based on the provided input.

Grex is also a library for Rust, check out the readme for details. You can learn more about this CLI tool, get full installation instructions, and view the source code on GitHub.

Paul Redmond photo

Staff writer at Laravel News. Full stack web developer and author.

Filed in

Sponsored

laravelcloud logo
Laravel Cloud

Easily create and manage your servers and deploy your Laravel applications in seconds.

Visit Laravel Cloud

The latest

View all →
CPX: The Composer Package Executor for PHP image

CPX: The Composer Package Executor for PHP

Read article
Laravel AI SDK Adds Human-in-the-Loop Tool Approval image

Laravel AI SDK Adds Human-in-the-Loop Tool Approval

Read article
Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals image

Pest 5 Released With Test Impact Analysis, Agent Verification, and Evals

Read article
Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs image

Queue-SQL: Run Mass Deletes and Updates Across Parallel Queue Jobs

Read article
Blade Formatting in Laravel Pint image

Blade Formatting in Laravel Pint

Read article
Inertia DevTools Is Now on the Chrome Web Store image

Inertia DevTools Is Now on the Chrome Web Store

Read article