Regular Expressions 101

Save & Manage Regex

  • Current Version: 1
  • 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]
  • Character class intersection
    [\w&&[^\d]]
  • 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

const regex = /(https?:)?\/\/(www\.)?((zi\.mu)|(zi\.ma)|(yhoo\.it)|(yfrog\.com)|(yep\.it)|(y\.ahoo\.it)|(xurl\.es)|(xrl\.us)|(xrl\.in)|(wp\.me)|(url\.ie)|(url\.co\.uk)|(url\.az)|(ur1\.ca)|(u\.nu)|(twurl\.nl)|(twurl\.cc)|(tr\.im)|(to\.ly)|(tnij\.org)|(tinyurl\.com)|(tinylink\.in)|(tiny\.pl)|(tiny\.ly)|(tiny\.cc)|(tcrn\.ch)|(ta\.gd)|(t\.co)|(t\.cn)|(su\.pr)|(sp2\.ro)|(snurl\.com)|(snipurl\.com)|(snipr\.com)|(shrt\.st)|(shorturl\.com)|(short\.ie)|(shorl\.com)|(shar\.es)|(sameurl\.com)|(safe\.mn)|(post\.ly)|(ping\.fm)|(ow\.ly)|(om\.ly)|(nyti\.ms)|(nsfw\.in)|(moby\.to)|(migre\.me)|(lnkd\.in)|(linkbun\.ch)|(linkbee\.com)|(liip\.to)|(krunchd\.com)|(korta\.nu)|(j\.mp)|(is\.gd)|(hurl\.me)|(huff\.to)|(goo\.gl)|(fwd4\.me)|(fff\.to)|(ff\.im)|(fb\.me)|(fav\.me)|(eepurl\.com)|(doiop\.com)|(dlvr\.it)|(disq\.us)|(digg\.com)|(digbig\.com)|(decenturl\.com)|(cutt\.us)|(cot\.ag)|(cli\.gs)|(clck\.ru)|(cl\.ly)|(chilp\.it)|(budurl\.com)|(bit\.ly)|(binged\.it)|(bacn\.me)|(arst\.ch)|(alturl\.com)|(afx\.cc)|(adjix\.com)|(adf\.ly)|(4sq\.com)|(3\.ly)|(0rz\.tw)|(we\.tl)|(ouo\.io)|(bfy\.tw)|(bit\.do))\/[a-z0-9]+ /; // Alternative syntax using RegExp constructor // const regex = new RegExp('(https?:)?\\\/\\\/(www\\.)?((zi\\.mu)|(zi\\.ma)|(yhoo\\.it)|(yfrog\\.com)|(yep\\.it)|(y\\.ahoo\\.it)|(xurl\\.es)|(xrl\\.us)|(xrl\\.in)|(wp\\.me)|(url\\.ie)|(url\\.co\\.uk)|(url\\.az)|(ur1\\.ca)|(u\\.nu)|(twurl\\.nl)|(twurl\\.cc)|(tr\\.im)|(to\\.ly)|(tnij\\.org)|(tinyurl\\.com)|(tinylink\\.in)|(tiny\\.pl)|(tiny\\.ly)|(tiny\\.cc)|(tcrn\\.ch)|(ta\\.gd)|(t\\.co)|(t\\.cn)|(su\\.pr)|(sp2\\.ro)|(snurl\\.com)|(snipurl\\.com)|(snipr\\.com)|(shrt\\.st)|(shorturl\\.com)|(short\\.ie)|(shorl\\.com)|(shar\\.es)|(sameurl\\.com)|(safe\\.mn)|(post\\.ly)|(ping\\.fm)|(ow\\.ly)|(om\\.ly)|(nyti\\.ms)|(nsfw\\.in)|(moby\\.to)|(migre\\.me)|(lnkd\\.in)|(linkbun\\.ch)|(linkbee\\.com)|(liip\\.to)|(krunchd\\.com)|(korta\\.nu)|(j\\.mp)|(is\\.gd)|(hurl\\.me)|(huff\\.to)|(goo\\.gl)|(fwd4\\.me)|(fff\\.to)|(ff\\.im)|(fb\\.me)|(fav\\.me)|(eepurl\\.com)|(doiop\\.com)|(dlvr\\.it)|(disq\\.us)|(digg\\.com)|(digbig\\.com)|(decenturl\\.com)|(cutt\\.us)|(cot\\.ag)|(cli\\.gs)|(clck\\.ru)|(cl\\.ly)|(chilp\\.it)|(budurl\\.com)|(bit\\.ly)|(binged\\.it)|(bacn\\.me)|(arst\\.ch)|(alturl\\.com)|(afx\\.cc)|(adjix\\.com)|(adf\\.ly)|(4sq\\.com)|(3\\.ly)|(0rz\\.tw)|(we\\.tl)|(ouo\\.io)|(bfy\\.tw)|(bit\\.do))\\\/[a-z0-9]+ ', '') const str = `https://zi.mu/dfd`; // Reset `lastIndex` if this regex is defined globally // regex.lastIndex = 0; let m; if ((m = regex.exec(str)) !== null) { // 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