Skip to content
Flavor
ECMAScript
Deadline
500 ms
Runtime
Browser

Explain structural features in an ECMAScript regex

Turn a valid pattern into a position-aware inventory of its structural regex features.

Local processingNo sign-upKillable worker

Input

Syntax-only work uses the pinned @eslint-community/regexpp ECMAScript 2025 parser. Actual matching still follows the current browser's RegExp implementation, so a parser-valid feature can remain unavailable in an older runtime.

Local

Flags select Unicode or Unicode-sets grammar before the AST is built.

Pattern explanation

Submit the example or replace it with your own values. User matching runs only in a disposable browser worker.

What this tool proves

Explicit ECMAScript behavior

An explainer should describe grammar rather than invent intent. This report names what the parser can prove—groups, assertions, sets, backreferences, and repeat bounds—while avoiding claims about what a business rule means.

Parser facts stay separate from guessed human intent

An explainer should describe grammar rather than invent intent. This report names what the parser can prove—groups, assertions, sets, backreferences, and repeat bounds—while avoiding claims about what a business rule means.

Every feature includes its raw source slice and UTF-16 start and end positions. Nested features remain separate, and an empty feature list is valid for a pattern composed only of literal characters.

Bounded execution protects the page without hiding risk

Any operation that runs a user pattern is isolated in a disposable Web Worker. Tool Swim terminates that worker after 500 ms, caps patterns at 4 KiB and text at 256 KiB, and never runs user matching on the interface thread.

Pattern, flags, text, replacement, matches, and explanations stay in the current browser tab. The public tool makes no developer API request, stores no preset, and works without an account or telemetry.

Primary references

Questions and answers

Related Regex tools