Python Regex Tester

Test a regex with Python's re module (CPython 3.14.2 in Pyodide), loaded in this browser on request.

Python's re module, in this browser

Checking engine…

Not saved: closing this tab loses your work. Save keeps the regex, flags, engine, texts and tests in this browser only.
Workspace actions
Regular expression
Reference

Regex quick reference

^ · $
Start/end; m = lines.
[abc] · \d
Listed character / digit.
* · + · ?
Zero or more, one or more, optional.
(...)
Capture a numbered group.
(?P<name>...)
Named capture.
(?=...)
Ahead; lookbehind varies.
i · m · s
Ignore case / line anchors / dot-newline.
Browse the full reference

Tab inserts a tab · press Esc, then Tab, to leave the editor

No regex yet.

Engine and options
CPython 3.14.2 in Pyodide 314.0.7

Downloaded only when you ask; nothing is uploaded.

⋯

CPython 3.14.2 in Pyodide 314.0.7

Not available in Python re · Local WASM: u · Unicode; v · Unicode sets; y · sticky; U · lazy by default; J · duplicate names.

To run: enter a regex; enter a test text.

Test text

Tab inserts a tab · press Esc, then Tab, to leave the editor

No text yet.

No result yet

Results appear here after a run.

Verified Fixture FX-G03

What it does

Test a regex with Python’s re module from CPython 3.14.2, running in this browser through Pyodide.

How to use it

  1. Load the Python engine (its size is shown before the download).
  2. Type or paste the regex.
  3. Paste the text to test; add more texts with Add text.
  4. Results appear as you type; press Ctrl/Cmd+Enter to run with the longer deadline.

Verified example

As written

Text "TX-00057"

Python re · Local WASM
(?<id>TX-\d{5})

Result: rejected: invalid pattern

Corrected

Text "TX-00057"

Python re · Local WASM
(?P<id>TX-\d{5})

Result: "TX-00057"

Recorded by running fixture FX-G03 on : rp.js@1 on Node v24.21.0 (V8), v24.21.0, CPython 3.14.2 (Pyodide 314.0.7), PCRE2 10.48, go1.27.1. JavaScript results come from the rp.js@1 core on Node’s V8; your browser runs the same core.

Engines

Limits