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
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
  • Match everything enclosed
    (?:...)
  • Capture everything enclosed
    (...)
  • 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"
"
gm

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"^(?:\"Flesh)|^(?:\"Primitive)|^(?:\"Mutant)|^(?:\"Sacred)|^(?:\"Super)|^(?:\"Meat of)" test_str = ("\n" "\"Black beetle killed. No beast soul gained. Eat the flesh of the black beetle to gain zero to ten geno points randomly.\"\n" "\"Black beetle flesh eaten. Zero geno points gained.\"\n" "\"Flesh of black beetle eaten. One sacred geno point gained.\"\n" "\"Flesh of black beetle eaten. One sacred geno point gained.\"\n" "\"Flesh of black beetle eaten. One sacred geno point gained.\"\n" "\"Primitive creature green-scaled beast killed. No beast soul gained. Eat the flesh of the primitive green-scaled beast to gain zero to ten points randomly.\"\n" "\"Primitive creature swift mantis killed. No beast soul gained. Eat the swift mantis to gain zero to ten primitive geno points randomly.\"\n" "\"Primitive creature swift mantis killed. No beast soul gained. Eat the swift mantis to gain zero to ten points randomly.\"\n" "\"Primitive creature swift mantis killed …\"\n" "\"Primitive creature copper-toothed beast killed. No beast soul gained. Eat the flesh of copper-toothed beast to gain zero to ten primitive geno points randomly.\"\n" "\"Primitive creature copper-toothed beast killed. Primitive beast soul of copper-toothed beast gained. Eat the flesh of copper-toothed beast to gain zero to ten primitive geno points randomly.\"\n" "\"Sacred-blood bloody slayer killed. Sacred-blood beast soul bloody slayer gained. Eat the flesh of bloody slayer to gain zero to ten sacred geno points randomly.\"\n" "\"Primitive green-scaled beast flesh eaten. One primitive geno point gained.\"\n" "\"Mutant copper-toothed beast killed. No beast soul gained. Eat its flesh to gain zero to ten mutant geno points.\"\n" "\"Mutant copper-toothed beast flesh eaten. One mutant geno point gained.\"\n" "\"Primitive creature quartz scorpion killed. No beast soul gain. Eat the flesh of quartz scorpion to gain zero to ten primitive geno points.\"\n" "\"Primitive quartz scorpion flesh eaten. Four primitive geno points gained.\"\n" "\"Young obsidian dragon eaten. One sacred geno point gained…\"\n" "\"Black beetle killed. No beast soul gained. Eat the flesh of the black beetle to gain zero to ten geno points randomly.\"\n" "\"Black beetle flesh eaten. Zero geno points gained.\"\n" "\"Flesh of black beetle eaten. One sacred geno point gained.\"\n" "\"Flesh of black beetle eaten. One sacred geno point gained.\"\n" "\"Flesh of black beetle eaten. One sacred geno point gained.\"\n" "\"Primitive creature green-scaled beast killed. No beast soul gained. Eat the flesh of the primitive green-scaled beast to gain zero to ten points randomly.\"\n" "\"Primitive creature swift mantis killed. No beast soul gained. Eat the swift mantis to gain zero to ten primitive geno points randomly.\"\n" "\"Primitive creature swift mantis killed. No beast soul gained. Eat the swift mantis to gain zero to ten points randomly.\"\n" "\"Primitive creature swift mantis killed …\"\n" "\"Primitive creature copper-toothed beast killed. No beast soul gained. Eat the flesh of copper-toothed beast to gain zero to ten primitive geno points randomly.\"\n" "\"Primitive creature copper-toothed beast killed. Primitive beast soul of copper-toothed beast gained. Eat the flesh of copper-toothed beast to gain zero to ten primitive geno points randomly.\"\n" "\"Sacred-blood bloody slayer killed. Sacred-blood beast soul bloody slayer gained. Eat the flesh of bloody slayer to gain zero to ten sacred geno points randomly.\"\n" "\"Primitive green-scaled beast flesh eaten. One primitive geno point gained.\"\n" "\"Mutant copper-toothed beast killed. No beast soul gained. Eat its flesh to gain zero to ten mutant geno points.\"\n" "\"Mutant copper-toothed beast flesh eaten. One mutant geno point gained.\"\n" "\"Primitive creature quartz scorpion killed. No beast soul gain. Eat the flesh of quartz scorpion to gain zero to ten primitive geno points.\"\n" "\"Primitive quartz scorpion flesh eaten. Four primitive geno points gained.\"\n" "\"Young obsidian dragon eaten. One sacred geno point gained…\"\n" "\"Sacred-blood creature purple-winged dragon killed. Sacred-blood beast soul of purple-winged dragon gained. Eat the flesh of purple-winged dragon to gain zero to ten sacred-blood geno points randomly.\"\n" "\"Sacred-blood copper-toothed beast killed. No beast soul gained. Eat its meat to gain one to ten sacred geno points randomly.\"\n" "\"Meat of copper-toothed beast eaten. One sacred geno point gained.\"\n" "\"Meat of copper-toothed beast eaten. One sacred geno point gained.\"") matches = re.finditer(regex, test_str, re.MULTILINE) 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