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
No Match

r"
"
g

Test String

Code Generator

Generated Code

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"(In\s(?P<lang>[^-]+))?(?(1)-|)((?P<home>.+)\svs\.\s+(?P<away>.+)\s+)\((?P<league>[^\)]+)" test_str = ("In Spanish-Vitesse vs. Feyenoord (Eredivisie)\n" "Vitesse vs. Feyenoord (Eredivisie)\n" "Hyderabad vs. Mumbai City FC (Indian Super League)\n" "Kilmarnock vs. Aberdeen (Scottish Premier League)\n" "In Spanish-ADO Den Haag vs. Ajax (Eredivisie)\n" "ADO Den Haag vs. Ajax (Eredivisie)\n" "Sassuolo vs. AC Milan (Serie A)\n" "In Spanish-Sassuolo vs. AC Milan (Serie A)\n" "Cagliari vs. Udinese (Serie A)\n" "In Spanish-Inter vs. Spezia (Serie A)\n" "Inter Milan vs. Spezia (Serie A)\n" "Benevento vs. Genoa (Serie A)\n" "Kerala Blasters FC vs. SC East Bengal (Indian Super League)\n" "Celtic vs. Heart of Midlothian (Final) (Scottish Cup)\n" "Sport-Club Freiburg vs. Hertha BSC (Bundesliga)\n" "Abilene Christian vs. Stetson (W Basketball)\n" "In Spanish-VfL Wolfsburg vs. VfB Stuttgart (Bundesliga)\n" "VfL Wolfsburg vs. VfB Stuttgart (Bundesliga)\n" "In Spanish-Atalanta vs. AS Roma (Serie A)\n" "Atalanta vs. AS Roma (Serie A)\n" "Kobenhaven vs. OB (Danish Superliga)\n" "East Carolina vs. Cincinnati (W Basketball)\n" "Delaware vs. George Washington (W Basketball)\n" "Northern Kentucky vs. Purdue Fort Wayne (W Basketball)\n" "Jackson State vs. Iowa State (M Basketball)\n" "Cleveland State vs. IUPUI (W Basketball)\n" "Western Carolina vs. Georgia State (W Basketball)\n" "Robert Morris vs. Milwaukee (W Basketball)\n" "Albany vs. UMBC (W Basketball)\n" "SMU vs. Temple (W Basketball)\n" "Appalachian State vs. East Tennessee State (W Basketball)\n" "Binghamton vs. Stony Brook (W Basketball)\n" "UMass Lowell vs. Vermont (W Basketball)\n" "Alice Lloyd vs. UNC Greensboro (M Basketball)\n" "UNC Asheville vs. High Point (W Basketball)\n" "Ball State vs. Akron (W Basketball)\n" "South Carolina State vs. Campbell (W Basketball)\n" "Oakland vs. Wright State (W Basketball)\n" "VCU vs. Richmond (W Basketball)\n" "Lazio vs. Napoli (Serie A)\n" "In Spanish-Lazio vs. Napoli (Serie A)\n" "Freed-Hardeman (TN) vs. North Alabama (M Basketball)\n" "Western Kentucky vs. Tennessee Tech (W Basketball)\n" "Chicago State vs. Drake (M Basketball)\n" "Martin Methodist vs. Troy (W Basketball)\n" "Louisiana vs. Louisiana Tech (W Basketball)\n" "Champion Christian vs. Arkansas State (M Basketball)\n" "Alcorn State vs. Houston (M Basketball)\n" "Oakland vs. UIC (M Basketball)\n" "Detroit Mercy vs. UIC (W Basketball)\n" "Western Illinois vs. UT Martin (M Basketball)\n" "NJIT vs. Temple (M Basketball)\n" "Lamar vs. Texas State (W Basketball)\n" "Converse vs. Coastal Carolina (W Basketball)\n" "Flagler vs. North Florida (M Basketball)\n" "Southeastern Louisiana vs. Tulane (W Basketball)\n" "Iona vs. Rider (M Basketball)\n" "McNeese State vs. Louisiana (M Basketball)\n" "Crowley's Ridge vs. Tennessee State (M Basketball)") matches = re.finditer(regex, test_str) for matchNum, match in enumerate(matches, start=1): print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group())) for groupNum in range(0, len(match.groups())): groupNum = groupNum + 1 print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum))) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

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 Python, please visit: https://docs.python.org/3/library/re.html