Regular Expressions 101

Save & Share

  • Regex Version: ver. 6
  • Update Regex
    ctrl+⇧+s
  • Save new Regex
    ctrl+s
  • Add to Community Library

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

/
/
mg

Test String

Code Generator

Generated Code

const regex = /^([pP][oO] +[bB][oO][xX]|[pP][rR][iI][vV][aA][tT][eE] +[bB][aA][gG]) +(\d+).*|^([\/\wÀ-ɏḀ-ỹ .'-]*, *)?(\d[\/\w]*)[\/\wÀ-ɏḀ-ỹ .,'#-]*$/mg; // Alternative syntax using RegExp constructor // const regex = new RegExp('^([pP][oO] +[bB][oO][xX]|[pP][rR][iI][vV][aA][tT][eE] +[bB][aA][gG]) +(\\d+).*|^([\\\/\\wÀ-ɏḀ-ỹ .\'-]*, *)?(\\d[\\\/\\w]*)[\\\/\\wÀ-ɏḀ-ỹ .,\'#-]*$', 'mg') const str = `Street address: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 224B Clarence Street, Vogeltown, Wellington 6023 Rural address: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 128 Valley Road North, RD 2, Middlemarch 9597 PO Box: ¯¯¯¯¯¯¯ PO Box 17999, Greenlane, Auckland 1546 Street – with unit: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 3/123 Johnstone Street West, Point Chevalier, Auckland 1022 Rural address with unit: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 8/56 Maple Boulevard, RD 2, Wanaka 9382 Private Bag: ¯¯¯¯¯¯¯¯¯¯¯¯ Private Bag 93899, Auckland 0753 Street – with building name: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Level 2 Colombo House, 3A/1222 Colombo Street, St Albans, Christchurch 8014 Rural address – with building name: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ Totârä Farm, 2/12543 Farm Road, RD 1, Outram 9073 Rural address – with c/o: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ c/o James Bond, 2/12543 Farm Road, RD 1, Outram 9073 Other addresses around the world: ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 813 Howard Street, Oswego, NY 13126, USA 1 Beacon Street, 33rd Floor, Boston, MA 02108, USA Hagagatan 1 vi, SE-113 49 Stockholm, Sweden John A. Smith, ACME Innovations Inc., PO BOX 1033, Los Angeles, CA c/o Henry Roth, 50 Oakland Ave,#206, A City, Florida, 32104, USA 10 Downing Street, London, Greater London, SW1A 2AA, United Kingdom Av. de Senalèche 27, 1009 Pully, Switzerland 17, Rue Bergère, 75009 Paris, France 11 Bis Av. Gabriel Péri, 38150 Roussillon, France Apostel-Paulus-Strasse 7, 10823 Berlin, Deutschland Château Brillant, 75000 Paris, France Crap data: ¯¯¯¯¯¯¯¯¯¯ \$^srflkwjeras % 894 879D 7895/465 5465 D 4565 D\$ wer House name, 45 Help me please!`; // 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