Regular Expression Tester
Test your regular expressions against strings in real-time
Regular Expression
Enter the regular expression you want to test
Test String
Enter the string you want to test against the regular expression
Regular Expression Tips
Quick tips for writing effective regular expressions
- Use
.to match any single character (except newline). - Use
*to match zero or more occurrences of the preceding character or group. - Use
+to match one or more occurrences of the preceding character or group. - Use
?to match zero or one occurrence of the preceding character or group. - Use
[]to define a character set (e.g.,[a-z]matches any lowercase letter). - Use
()to group characters or patterns. - Use
^to match the start of a string, and$to match the end of a string. - Use
\to escape special characters (e.g.,\.matches a literal dot).
Category Hub
Category Essentials
Developer tool searches often overlap across formatting, validation, and quick code generation. These links surface the strongest utility pages first so users can continue the workflow in one section.
Related Tools
Daily Inspiration
The pen is mightier than the sword. - Edward Bulwer-Lytton
Regex Tester - Test Regular Expressions Online
Test a Regex
Our real-time Regex Tester allows you to debug and test regular expressions directly in your browser. Whether you are validating emails, scraping text, or configuring server redirects, we provide an instant environment to check your patterns against test strings.
We use the JavaScript (ECMAScript) regex engine, ensuring that your patterns work seamlessly across modern web applications. Just paste your text, type your pattern, and watch matches highlight instantly.
How to Use This Regex Tester
We designed our tool to be streamlined and intuitive. Follow these simple steps to validate your code:
- Set Your Flags: Toggle flags like
Global (g),Case Insensitive (i), orMultiline (m)to refine how the engine searches. - Paste Test String: Enter the text you want to search through in the main text area.
- Analyze Results: View real-time highlights of full matches. If you use capturing groups, check the details panel to see exactly what text was captured.
- Test Replacements: Switch to the "Replace" mode to test substitution patterns and see the final output string.
Regex Basics
If you need a quick refresher, here are the core building blocks for constructing powerful expressions.
Character Classes
Define sets of characters to match.
\d: Matches any digit (0-9).\w: Matches any word character (alphanumeric plus underscore).\s: Matches any whitespace (spaces, tabs, line breaks).[abc]: Matches any single character inside the brackets.[^abc]: Negated set; matches anything *except* a, b, or c.
Quantifiers
Control how many times a character or group should appear.
*: 0 or more times.+: 1 or more times.?: 0 or 1 time (optional).{3}: Exactly 3 times.{2,5}: Between 2 and 5 times.
Anchors & Boundaries
Assert position without consuming characters.
^: Start of string (or line, if multiline flag is on).$: End of string (or line).\b: Word boundary (position between a word char and non-word char).
Groups & Backreferences
(abc): Capturing Group. Groups multiple tokens together and creates a capture group for extracting substrings.(?:abc): Non-Capturing Group. Groups tokens without creating a capture group.(?<name>abc): Named Group. Captures text into a group referenced by a specific name (supported in modern browsers).
Lookarounds
(?=abc): Positive Lookahead. Asserts that what immediately follows the current position is "abc".(?!abc): Negative Lookahead. Asserts that what follows is *not* "abc".
Flags Explained
Flags change the default behavior of the regex engine. Here are the most common ones supported by our tool:
| Flag | Name | Description |
|---|---|---|
g | Global | Don't stop after the first match; find all matches in the text. |
i | Case Insensitive | Match both uppercase and lowercase letters (e.g., /a/ matches "A"). |
m | Multiline | Treat the beginning (^) and end ($) anchors as working on each line, not just the whole string. |
s | DotAll | Allows the dot (.) to match newlines (ES2018+). |
u | Unicode | Enables full Unicode support. |
y | Sticky | Matches only from the index indicated by the lastIndex property. |
Replace / Substitution Tester
Beyond finding matches, you often need to replace them. Our tool allows you to test substitution logic safely before deploying it.
When using replacements, you can reference captured groups using the $ syntax:
$1,$2: Inserts the text captured by the 1st or 2nd capturing group.amp;: Inserts the entire matched substring.
Example:
- Regex:
(\w+)\s(\w+) - Test String:
John Doe - Replacement:
$2, $1 - Result:
Doe, John
Common Patterns
Use these patterns as starting points for your projects. *Note: Real-world validation (especially for emails) is complex; these are simplified examples.*
- Email Address:
^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$ - URL (Basic):
https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*) - Date (YYYY-MM-DD):
^\d{4}-\d{2}-\d{2}$ - IPv4 Address:
^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$
Troubleshooting
No matches found? Check your flags. If your input has capital letters but your regex is lowercase, ensure the i (Case Insensitive) flag is on. Also, verify that whitespace in your pattern matches the input.
"Works on other tools but not here" Different tools use different engines (PCRE, Python, Go, etc.). We use the JavaScript engine. Features like specific lookbehinds or possessive quantifiers may behave differently depending on browser support.
Lookbehind not working? Lookbehind (?<=...) is a relatively new addition to JavaScript. Ensure you are using a modern browser (Chrome, Firefox, Edge, or Safari) to use this feature.
Frequently Asked Questions
What is a regular expression?
A regular expression (regex) is a sequence of characters that specifies a search pattern. It is used by developers and data analysts to find, validate, or replace text within strings.
Which regex flavor does this tester use?
We use the JavaScript (ECMAScript) flavor. This is the standard engine used by web browsers and Node.js environments.
What do regex flags mean?
Flags are optional parameters that modify the search. For example, the g (global) flag finds all matches instead of just the first one, and i (insensitive) ignores case distinctions.
What are capturing groups?
Capturing groups, defined by parentheses (...), treat multiple characters as a single unit and "capture" the matched text so you can use it later (e.g., in a replacement or to extract specific data).
What are lookaheads and lookbehinds?
These are "zero-width assertions." They check if a pattern exists before or after the current position, but they do not consume any characters in the match result.
Why does my regex match in Python/PHP but fail here?
Languages like PHP often use the PCRE engine, which has different syntax rules than JavaScript. For example, naming groups or handling Unicode properties can vary between engines.
How do I test a regex replacement safely?
Use the "Replace" tab in our tool. Enter your substitution pattern (using $1, $2 for groups) to preview the result without modifying your actual code or database.
How do I match across multiple lines?
You can use the s (DotAll) flag to make the dot . match newlines, or use a character class like [\s\S] to match any character including newlines.
