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

// include the latest version of the regex crate in your Cargo.toml extern crate regex; use regex::Regex; fn main() { let regex = Regex::new(r#"<div class="listing-img-container media-cover text-center">[\s\S]*?src="([^"]+?\.jpg)"#).unwrap(); let string = " <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> "; // result will be a tuple containing the start and end indices for the first match in the string let result = regex.captures(string); let (start, end) = match result { Some((s, e)) => (s, e), None => { // ... } }; println!("{}", &string[start, end]); }

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 Rust, please visit: https://docs.rs/regex/latest/regex/