Searchlight
Tools
BlogAbout
Free SEO Audit
Back to home
๐Ÿ“ˆSEO & Analytics
๐Ÿ—‚๏ธText & Data
๐Ÿ”Encoders & Decoders
โšกGenerators
๐Ÿ”„Converters
๐Ÿ–ผ๏ธImage Tools
๐Ÿ“„PDF Tools
๐Ÿ’ปCode Tools
๐Ÿ”Regex & Parsing
Regex TesterRegex VisualizerRegex CheatsheetCron Tester
๐ŸงฎCalculators
๐Ÿ—บ๏ธDiagrams
๐ŸŒNetwork & Web
โœ๏ธText Utilities
๐ŸŽจColor Tools
๐Ÿ”€Diff & Compare
148+ tools. OAuth is read-only.
Searchlight

148+ free SEO, developer, image, PDF, and productivity tools - no account needed.

Free ยท all tools included
Company
  • Blog
  • About
  • Free SEO Audit
Legal
  • Privacy Policy
  • Terms of Service
  • Cookie Policy

ยฉ 2026 Searchlight. All rights reserved.

Read-only OAuth ยท No data reselling ยท Completely free

All ToolsRegex & Parsing
๐Ÿ”

Regex & Parsing

Test, visualise, and explain regular expressions.

4 live

Available now

Regex TesterNEW

Live regex matching with group highlighting

Open tool
Regex VisualizerNEW

Visual diagram of regex structure

Open tool
Regex CheatsheetNEW

Quick reference for regex syntax

Open tool
Cron TesterNEW

Test cron expressions with next-run preview

Open tool

About Regex & Parsing

Free online regular expression tools - a fully-featured regex tester with match highlighting, a railroad diagram visualiser, a comprehensive cheatsheet with live examples, and a collection of pre-built patterns for common tasks. The Regex Tester supports JavaScript, Python, and PCRE flavours with flags (global, multiline, case-insensitive, dotAll, unicode). Matches are highlighted in real time as you type. The Regex Visualiser renders any pattern as a railroad diagram - a flowchart of the matching paths - making complex patterns understandable at a glance. The Cheatsheet maps every syntax element to a live testable example.

When to use Regex & Parsing

  • 1Form validation: write and test regex patterns for email addresses, phone numbers, postcodes, URLs, and IP addresses before embedding them in your application code.
  • 2Data extraction: test regex patterns for parsing structured data from log files, CSV exports, or API responses - including named capture groups for readable extraction.
  • 3Find and replace in code editors: build and verify complex regex patterns before using them in VS Code, Vim, or sed - the tester confirms matches before you commit.
  • 4Understanding existing patterns: paste any unfamiliar regex into the Visualiser to see its structure as a railroad diagram - essential for maintaining inherited code.
  • 5Writing ESLint rules or Babel plugins: use the Visualiser alongside the AST Explorer to understand both the regex and the code structure you are matching against.

Frequently Asked Questions

What is the difference between greedy and lazy quantifiers?+
Greedy quantifiers (*, +, ?) match as much as possible. Lazy quantifiers (*?, +?, ??) match as little as possible. On the string '<b>bold</b>', the pattern <.*> greedily matches the entire string from the first < to the last >. The lazy pattern <.*?> matches just '<b>' - the minimum needed to satisfy the pattern.
What is a lookahead and how is it used?+
A lookahead asserts that a pattern must (positive: (?=...)) or must not (negative: (?!...)) immediately follow the current position, without consuming characters in the match. For example, \d+(?= dollars) matches numbers only when followed by ' dollars', without including ' dollars' in the captured match.
What regex flavour does JavaScript use?+
JavaScript uses its own ECMAScript regex engine. Modern JS regex supports: named capture groups (?<name>...) from ES2018, lookbehind (?<=...) and (?<!...) from ES2018, the dotAll flag (s) from ES2018, and the Unicode flag (u) for full Unicode support. Python's re module uses PCRE with minor differences - the Regex Tester here lets you switch flavour.
How do I match whole words in a regex?+
Use word boundary anchors: \bcat\b matches 'cat' as a standalone word but not 'catch' or 'concatenate'. \b matches between a word character (\w: letter, digit, underscore) and a non-word character, or at the start/end of the string. This is equivalent to enabling 'whole word' matching in code editors.