# What supporting 21 regex engines actually involves

A technical note by Kristof Polleunis · November 2026

RegexPilot is a visual regex builder for macOS. It can test a pattern against 21 different regex engines. The visible part is a selector; the hard part is everything behind it.

## The selector is the easy part

A dropdown with 21 names is not engine support. Each engine has its own parser, accepted syntax and semantics. A pattern that is valid JavaScript is not automatically valid Python, Java, Ruby or Perl. A pattern that compiles everywhere can still return different matches.

## Syntax drifts quietly

Inline flags, named groups, lookbehind, Unicode property escapes, possessive quantifiers and conditional patterns are not distributed evenly. Some are recent; some are deliberately unsupported; some look similar but behave differently at the edges. A visual tool has to represent the pattern faithfully without lying about what the target engine can do.

## Features are uneven

- Lookbehind support varies.
- Named capture groups use different syntax and naming rules.
- Unicode handling varies by engine and mode.
- Replacement syntax is not interchangeable.
- Performance on pathological patterns differs enormously.

## Match semantics is the hard part

Two engines can accept the same expression and disagree about the result. Zero-width matches, capture-group numbering, duplicate names, newline handling and Unicode case folding can produce different match sets. The real feature is not “supports 21 engines”; it is “tells you when those engines disagree.”

## Testing becomes a product feature

Each supported engine needs representative patterns, negative cases and verification that a feature is genuinely supported rather than merely accepted by the parser. RegexPilot includes live match testing, unit tests, replacements, a pattern library and a two-way VS Code bridge.

## What this changed

Supporting multiple engines forced a stricter separation between the visual model, the generated pattern and the engine-specific runtime. The canvas can show a construct; the engine panel has to say whether the selected engine supports it. RegexPilot is built with Rust and Tauri, shipped on the Mac App Store, and still evolving.

Read the live note: https://kristof-polleunis.pages.dev/notes/regexpilot-21-engines/

RegexPilot: https://regexpilot.com/
Professional profile: https://kristof-polleunis.pages.dev/recruiters/
