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

/
/
gm

Test String

Code Generator

Generated Code

const regex = /^-?[0-9]+$/gm; // Alternative syntax using RegExp constructor // const regex = new RegExp('^-?[0-9]+$', 'gm') const str = `0 00 0000000000 0123456789 X0123456789 01234X56789 0123456789X 1 11 1111111111 1000000000 0000000001 1234567890 X1234567890 12345X67890 1234567890X 2 22 2222222222 2000000000 0000000002 2345678901 X2345678901 23456X78901 2345678901X 3 33 3333333333 3000000000 0000000003 3456789012 X3456789012 34567X89012 3456789012X 4 44 4444444444 4000000000 0000000004 4567890123 X4567890123 45678X90123 4567890123X 5 55 5555555555 5000000000 0000000005 5678901234 X5678901234 56789X01234 5678901234X 6 66 6666666666 6000000000 0000000006 6789012345 X6789012345 67890X12345 6789012345X 7 77 7777777777 7000000000 0000000007 7890123456 X7890123456 78901X23456 7890123456X 8 88 8888888888 8000000000 0000000008 8901234567 X8901234567 89012X34567 8901234567X 9 99 9999999999 9000000000 0000000009 9012345678 X9012345678 90123X45678 9012345678X -0 -00 -0000000000 -0123456789 -X0123456789 -01234X56789 -0123456789X -1 -11 -1111111111 -1000000000 -0000000001 -1234567890 -X1234567890 -12345X67890 -1234567890X -2 -22 -2222222222 -2000000000 -0000000002 -2345678901 -X2345678901 -23456X78901 -2345678901X -3 -33 -3333333333 -3000000000 -0000000003 -3456789012 -X3456789012 -34567X89012 -3456789012X -4 -44 -4444444444 -4000000000 -0000000004 -4567890123 -X4567890123 -45678X90123 -4567890123X -5 -55 -5555555555 -5000000000 -0000000005 -5678901234 -X5678901234 -56789X01234 -5678901234X -6 -66 -6666666666 -6000000000 -0000000006 -6789012345 -X6789012345 -67890X12345 -6789012345X -7 -77 -7777777777 -7000000000 -0000000007 -7890123456 -X7890123456 -78901X23456 -7890123456X -8 -88 -8888888888 -8000000000 -0000000008 -8901234567 -X8901234567 -89012X34567 -8901234567X -9 -99 -9999999999 -9000000000 -0000000009 -9012345678 -X9012345678 -90123X45678 -9012345678X X Y Z`; // Reset `lastIndex` if this regex is defined globally // regex.lastIndex = 0; let m; while ((m = regex.exec(str)) !== null) { // This is necessary to avoid infinite loops with zero-width matches if (m.index === regex.lastIndex) { regex.lastIndex++; } // The result can be accessed through the `m`-variable. m.forEach((match, groupIndex) => { console.log(`Found match, group ${groupIndex}: ${match}`); }); }

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 JavaScript, please visit: https://developer.mozilla.org/en/docs/Web/JavaScript/Guide/Regular_Expressions