Regular Expressions 101

Save & Manage Regex

  • Current Version: 7
  • Save & Share
  • Community Library

Flavor

  • PCRE2 (PHP)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java
  • .NET 7.0 (C#)
  • Rust
  • PCRE (Legacy)
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests
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
  • 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
Processing...

Test String

Code Generator

Generated Code

import re regex = re.compile(r"((?:^\s{0,3}(?:Supp[lemntaryl]*\s+)?(?:Tab[les]*)(?![^\n]{0,40}(?:show[s]?\b|describes?\b|lists?\b|depicts?\b|explains?\b|represents?\b|summariz?s?es?\b|is\sa\b|ill?ustrates?d?)).*?(?:\n{1}|\n\s+)))|((?:^\s{0,3}(?:Supp[lemntaryl]*\s+)?(?:Tab[les]*)\s\w+\s*\n{1,3}))", flags=re.MULTILINE | re.IGNORECASE | re.DOTALL) test_str = ("attraction model has 504% higher average power density than X-attraction model, and Y-repulsion model has 181% higher average power density than X-repulsion model. On the other hands, attraction case has higher electrical output than repulsion case. Y-attraction model has 328% higher average power density than Y-repulsion model, and X-attraction model has 117% higher average power density than X-repulsion model. The difference between X-attraction model and X-repulsion model was small because the value of power density was low. However the huge power density increase was measured in Y-attraction model from Y-repulsion model. The maximum power density was 54.96 µW/cm3 at 300 kΩ in Y-attraction model. Therefore, we can conclude that the Y-attraction model is optimized model for the piezoelectric energy harvesting system with magnetic pendulum movement. \n" " \n" " Table 3. Average Power Density along 4 Conditions\n" "Pendulum direction Magnetic force Average power density (µW/cm3)\n" "Y attraction 17.9\n" "Y repulsion 5.45\n" "X attraction 3.55\n" "X repulsion 3.01\n\n" "Table 2 \n" "Relative Synonymous codon usage of native and optimized HCV E2 gene\n\n\n\n\n\n\n\n\n" " \n" "Figure 8. The Result of Power Density Increase Rate toward the Conventional Cantilever System along Pendulum Direction\n" " \n" "Figure 8 shows the power density increase rate of two attraction model toward the conventional cantilever beam piezoelectric energy harvesting system. In Y-attraction ") matches = regex.finditer(test_str) for match_num, match in enumerate(matches, start=1): print(f"Match {match_num} was found at {match.start()}-{match.end()}: {match.group()}") for group_num, group in enumerate(match.groups(), start=1): print(f"Group {group_num} found at {match.start(group_num)}-{match.end(group_num)}: {group}")

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