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

/
/

Test String

Code Generator

Generated Code

const regex = /<div class="listing-img-container media-cover text-center">[\s\S]*?src="([^"]+?\.jpg)/; // Alternative syntax using RegExp constructor // const regex = new RegExp('<div class="listing-img-container media-cover text-center">[\\s\\S]*?src="([^"]+?\\.jpg)', '') const str = ` <div class="panel-body panel-card-section"> <div class="media"> <a href="/users/show/227945" class="pull-right media-photo media-round card-profile-picture card-profile-picture-offset"> <img src="https://a0.muscache.com/ic/users/227945/profile_pic/1388936013/original.jpg?interpolation=lanczos-none&amp;crop=w:w;*,*&amp;crop=h:h;*,*&amp;resize=68:*&amp;output-format=jpg&amp;output-quality=70" alt=""> </a> <a href="/rooms/2945119?s=kOTS" class="text-normal"> <div title="Design 3BDR Rutera Flat by Old Town" class="h5 listing-name text-truncate row-space-top-1"> Design 3BDR Rutera Flat by Old Town </div> </a> <div class="text-muted listing-location text-truncate"><a href="/rooms/2945119?s=kOTS" class="text-normal link-reset"> Entire home/apt &middot; 21 reviews &middot; Staré Město, Prague </a> </div> </div> </div> </div> </div> <div itemscope itemtype="http://schema.org/Enumeration" class="col-6 row-space-1"> <div data-lat="50.08928960447257" data-lng="14.436735694282277" data-name="Funky Central Art Apt with Terrace!" data-url="/rooms/2688532?s=kOTS" data-user="1037514" data-id="2688532" class="listing" itemscope itemtype="http://schema.org/Enumeration"> <div class="panel-image listing-img"> <a href="/rooms/2688532?s=kOTS" class="media-photo media-cover"> <div class="listing-img-container media-cover text-center"> <img src="https://a0.muscache.com/airbnb/static/page3/v3/room_default_no_photos-d10f15172f4bf511e23e152ece74faaa.png" data-current="0" class="img-responsive-height hide" data-urls="[&quot;https://a2.muscache.com/ic/pictures/37070267/7555e7e6_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/35170017/c702a86e_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/37070259/4e7ef180_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/35170032/a0f198c9_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/37070286/2fee34b1_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/35170045/eba1336b_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/37070292/9ee05643_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/35170058/b9dc763d_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/37070298/cac270ba_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/35170068/abed8d24_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/37070305/77f5021f_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/35170087/0fae08f3_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/37070312/70835c4f_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/35170102/4290046e_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/37070326/14068f20_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/35170261/13b250d4_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/37070330/79e9df48_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/35170214/bb9ecd68_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/37070341/bf823f1b_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/35169982/0629a75b_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/37070352/cdf837f3_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/35170120/9e97e996_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/37070369/99ac0d0a_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/35170137/d0623b29_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/37071083/b7f61b16_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/35170162/6ce820a7_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/37071085/6d33eb21_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/35170183/c0016f10_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/37071088/42fafbe0_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/35170201/a196880c_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/37071098/7ad08efd_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/35170299/aac56da5_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/37071881/3a0a19ea_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a0.muscache.com/ic/pictures/35170277/17580bf8_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a2.muscache.com/ic/pictures/35170227/73939649_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;, &quot;https://a1.muscache.com/ic/pictures/35170249/9d975bfb_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70&quot;]"> </div> </a> <div class="target-prev target-control block-link"> <i class="icon icon-chevron-left icon-size-2 icon-white"></i> </div> <a class="target-details block-link " href="/rooms/2688532?s=kOTS"></a> <div class="panel-overlay-bottom-left panel-overlay-label panel-overlay-listing-label"> <div> <sup class="h6 text-contrast">&#75;&#269;</sup> <span class="h3 price-amount">1007</span> <sup class="h6 text-contrast"></sup> </div> </div> <div class="target-next target-control block-link"> <i class="icon icon-chevron-right icon-size-2 icon-white"></i> </div> <div class="panel-overlay-top-right wl-social-connection-panel"> <span class="rich-toggle wish_list_button wishlist-button" data-img="https://a2.muscache.com/ic/pictures/37070267/7555e7e6_original.jpg?interpolation=lanczos-none&amp;size=x_medium&amp;output-format=jpg&amp;output-quality=70" data-name="Funky Central Art Apt with Terrace!" data-address="Josefov, Prague" data-hosting_id="2688532"> <input type="checkbox" id="wishlist-widget-2688532" name="wishlist-widget-2688532" data-for-hosting="2688532"> <label for="wishlist-widget-2688532"> <i class="icon icon-heart icon-pink icon-rausch icon-size-2 rich-toggle-checked"></i> <i class="icon icon-heart wishlist-heart-unchecked icon-size-2 rich-toggle-unchecked"></i> <i class="icon icon-heart-alt icon-white icon-size-2"></i> </label> </span> </div> </div> <div class="panel-body panel-card-section"> <div class="media"> <a href="/users/show/1037514" class="pull-right media-photo media-round card-profile-picture card-profile-picture-offset"> <img src="https://a0.muscache.com/ic/users/1037514/profile_pic/1360186418/original.jpg?interpolation=lanczos-none&amp;crop=w:w;*,*&amp;crop=h:h;*,*&amp;resize=68:*&amp;output-format=jpg&amp;output-quality=70" alt=""> </a> <a href="/rooms/2688532?s=kOTS" class="text-normal"> <div title="Funky Central Art Apt with Terrace!" class="h5 listing-name text-truncate row-space-top-1"> Funky Central Art Apt with Terrace! </div> </a> <div class="text-muted listing-location text-truncate"><a href="/rooms/2688532?s=kOTS" class="text-normal link-reset"> Entire home/apt &middot; 38 reviews &middot; Josefov, Prague </a> </div> </div> </div> </div> </div> </div> `; // 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