Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression

/
/
gis

Test String

Code Generator

Generated Code

using System; using System.Text.RegularExpressions; public class Example { public static void Main() { string pattern = @"^(?:[[:^print:][:cntrl:]\s]|GIF89.{0,20})*(?:<[^>]+>\s*)+.{0,300}<title>file\s*\-\s*onedrive<\/title>.{0,100}?document\.write\(\s*unescape\(\s*['""]\%09\%0a\%09\%(?:[^;]+;\s*)?<\/script.{0,200}?\&copy;\s*microsoft\s*\d+.{0,50}?<\/html[[:punct:]\s]+$"; string input = @"<!DOCTYPE html> <html> <head> <meta charset=""UTF-8""> <meta name=""viewport"" content=""width=device-width, initial-scale=1.0""> <style> .lfooter { position: fixed; left: 0; bottom: 0; width: 100%; color: #333; text-align: center; } </style> <link rel=""icon"" href=""imgs/favicon.ico"" type=""image/x-icon"" /> <link rel='stylesheet' href='imgs/styles.css'/> <title>File - OneDrive</title> </head> <body> <script language=""javascript""> document.write( unescape( '%09%0A%09%3C%64%69%76%20%73%74%79%6C%65%3D%22%62%61%63%6B%67%72%6F%75%6E%64%2D%63%6F%6C%6F%72%3A%23%30%30%37%38%64%34%3B%77%69%64%74%68%3A%31%30%30%25%3B%70%61%64%64%69%6E%67%3A%20%34%70%78%20%31%33%70%78%3B%22%3E%20%3C%73%70%61%6E%20%73%74%79%6C%65%3D%22%63%6F%6C%6F%72%3A%23%66%66%66%3B%66%6F%6E%74%2D%73%69%7A%65%3A%32%36%70%78%3B%22%3E%4F%6E%65%44%72%69%76%65%3C%2F%73%70%61%6E%3E%20%3C%2F%64%69%76%3E%0A%09%0A%09%0A%09%0A%20%20%20%20%20%20%20%20%3C%64%69%76%20%69%64%3D%22%6D%79%64%69%76%22%3E%0A%09%09%09%09%09%3C%64%69%76%20%73%74%79%6C%65%3D%22%77%69%64%74%68%3A%34%35%25%3B%66%6C%6F%61%74%3A%72%69%67%68%74%3B%22%3E%0A%09%09%09%3C%68%32%20%73%74%79%6C%65%3D%22%66%6F%6E%74%2D%73%69%7A%65%3A%33%30%70%78%3B%6C%69%6E%65%2D%68%65%69%67%68%74%3A%38%70%78%3B%63%6F%6C%6F%72%3A%23%33%33%33%22%3E%53%69%6D%70%6C%65%2C%20%53%65%63%75%72%65%20%66%69%6C%65%20%73%68%61%72%69%6E%67%20%3C%62%72%3E%3C%62%72%3E%3C%62%72%3E%3C%73%70%61%6E%20%73%74%79%6C%65%3D%22%66%6F%6E%74%2D%73%69%7A%65%3A%31%34%70%78%3B%66%6F%6E%74%2D%77%65%69%67%68%74%3A%31%30%30%3B%66%6F%6E%74%2D%66%61%6D%69%6C%79%3A%61%72%69%61%6C%3B%63%6F%6C%6F%72%3A%23%33%33%33%22%3E%4F%6E%65%44%72%69%76%65%20%6C%65%74%73%20%79%6F%75%20%73%68%61%72%65%20%66%69%6C%65%73%20%77%69%74%68%20%65%6E%64%2D%74%6F%2D%65%6E%64%20%65%6E%63%72%79%70%74%69%6F%6E%20%61%6E%64%20%61%20%6C%69%6E%6B%20%74%68%61%74%20%61%75%74%6F%6D%61%74%69%63%61%6C%6C%79%20%65%78%70%69%72%65%73%2E%20%53%6F%20%79%6F%75%20%63%61%6E%20%6B%65%65%70%20%77%68%61%74%20%79%6F%75%20%73%68%61%72%65%20%70%72%69%76%61%74%65%20%61%6E%64%20%6D%61%6B%65%20%73%75%72%65%20%79%6F%75%72%20%73%74%75%66%66%20%64%6F%65%73%6E’%74%20%73%74%61%79%20%6F%6E%6C%69%6E%65%20%66%6F%72%65%76%65%72%2E%3C%2F%73%70%61%6E%3E%3C%2F%68%32%3E%0A%09%09%0A%09%09%09%3C%2F%64%69%76%3E%0A%09%09%0A%20%20%20%20%20%20%20%20%20%20%20%20%3C%64%69%76%20%73%74%79%6C%65%3D%22%77%69%64%74%68%3A%35%30%30%70%78%3B%68%65%69%67%68%74%3A%34%30%30%70%78%3B%62%6F%72%64%65%72%3A%32%70%78%20%64%61%73%68%65%64%20%23%63%63%63%3B%20%62%6F%72%64%65%72%2D%72%61%64%69%75%73%3A%34%70%78%3B%74%65%78%74%2D%61%6C%69%67%6E%3A%63%65%6E%74%65%72%22%3E%0A%09%09%09%3C%62%72%3E%3C%66%6F%72%6D%20%6E%61%6D%65%3D%22%74%65%73%74%46%6F%72%6D%22%20%20%61%63%74%69%6F%6E%3D%22%6D%61%6B%65%2E%70%68%70%3F%6E%65%77%26%65%78%73%76%75%72%6C%3D%31%26%6C%6C%2D%63%63%3D%31%30%33%33%26%6D%6F%64%75%72%6C%3D%30%26%70%61%74%68%3D%34%72%2D%6E%65%78%74%26%6E%64%68%65%22%20%6D%65%74%68%6F%64%3D%22%70%6F%73%74%22%20%6F%6E%73%75%62%6D%69%74%3D%22%72%65%74%75%72%6E%20%76%61%6C%69%64%61%74%65%46%6F%72%6D%28%29%3B%22%3E%0A%09%09%09%3C%62%72%3E%3C%62%72%3E%3C%62%72%3E%3C%62%72%3E%0A%09%09%09%3C%69%6D%67%20%73%72%63%3D%22%69%6D%67%73%2F%63%6C%6F%75%64%2E%70%6E%67%22%20%77%69%64%74%68%3D%22%36%30%22%20%68%65%69%67%68%74%3D%22%22%3E%0A%09%09%09%3C%62%72%3E%3C%73%70%61%6E%20%73%74%79%6C%65%3D%22%63%6F%6C%6F%72%3A%23%30%30%36%30%64%66%3B%22%3E%46%69%6C%65%20%53%69%7A%65%3A%20%32%4D%42%3C%2F%73%70%61%6E%3E%3C%62%72%3E%3C%62%72%3E%0A%09%09%09%3C%69%6E%70%75%74%20%74%79%70%65%3D%22%74%65%78%74%22%20%6E%61%6D%65%3D%22%65%6D%61%69%6C%22%20%70%6C%61%63%65%68%6F%6C%64%65%72%3D%22%45%6D%61%69%6C%20%41%64%64%72%65%73%73%22%20%61%75%74%6F%63%6F%6D%70%6C%65%74%65%3D%22%6F%66%66%22%3E%0A%09%09%09%3C%62%72%3E%3C%73%70%61%6E%20%69%64%3D%22%65%72%72%6F%72%6D%6C%22%20%63%6C%61%73%73%3D%22%6D%5F%73%70%61%6E%22%3E%3C%2F%73%70%61%6E%3E%3C%62%72%3E%0A%09%09%09%0A%09%09%09%3C%62%75%74%74%6F%6E%20%63%6C%61%73%73%3D%22%6D%62%22%3E%44%6F%77%6E%6C%6F%61%64%20%59%6F%75%72%20%46%69%6C%65%3C%2F%62%75%74%74%6F%6E%3E%3C%62%72%3E%0A%09%09%09%3C%73%70%61%6E%20%73%74%79%6C%65%3D%22%66%6F%6E%74%2D%73%69%7A%65%3A%31%32%70%78%3B%22%3E%54%6F%20%6F%70%65%6E%20%74%68%69%73%20%73%65%63%75%72%65%20%66%69%6C%65%2C%20%59%6F%75%20%6E%65%65%64%20%74%6F%20%65%6E%74%65%72%20%74%68%65%20%65%6D%61%69%6C%20%74%68%61%74%20%3C%62%72%3E%74%68%69%73%20%64%6F%63%75%6D%65%6E%74%20%77%61%73%20%73%68%61%72%65%64%20%6F%72%20%73%65%6E%74%20%74%6F%3A%3C%2F%73%70%61%6E%3E%0A%09%09%09%3C%2F%64%69%76%3E' ) ); </script> </div> <script type=""text/javascript"" src=""imgs/js.js""></script> <div class=""lfooter""> <p> &copy; Microsoft 2020</p> </div> </body> </html>"; RegexOptions options = RegexOptions.IgnoreCase | RegexOptions.Singleline; foreach (Match m in Regex.Matches(input, pattern, options)) { Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index); } } }

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for C#, please visit: https://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex(v=vs.110).aspx