// 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&crop=w:w;*,*&crop=h:h;*,*&resize=68:*&output-format=jpg&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 · 21 reviews · 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=\"["https://a2.muscache.com/ic/pictures/37070267/7555e7e6_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/35170017/c702a86e_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/37070259/4e7ef180_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/35170032/a0f198c9_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/37070286/2fee34b1_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/35170045/eba1336b_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/37070292/9ee05643_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/35170058/b9dc763d_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/37070298/cac270ba_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/35170068/abed8d24_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/37070305/77f5021f_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/35170087/0fae08f3_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/37070312/70835c4f_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/35170102/4290046e_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/37070326/14068f20_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/35170261/13b250d4_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/37070330/79e9df48_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/35170214/bb9ecd68_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/37070341/bf823f1b_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/35169982/0629a75b_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/37070352/cdf837f3_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/35170120/9e97e996_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/37070369/99ac0d0a_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/35170137/d0623b29_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/37071083/b7f61b16_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/35170162/6ce820a7_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/37071085/6d33eb21_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/35170183/c0016f10_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/37071088/42fafbe0_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/35170201/a196880c_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/37071098/7ad08efd_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/35170299/aac56da5_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/37071881/3a0a19ea_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a0.muscache.com/ic/pictures/35170277/17580bf8_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a2.muscache.com/ic/pictures/35170227/73939649_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70", "https://a1.muscache.com/ic/pictures/35170249/9d975bfb_original.jpg?interpolation=lanczos-none&size=x_medium&output-format=jpg&output-quality=70"]\">
</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\">Kč</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&size=x_medium&output-format=jpg&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&crop=w:w;*,*&crop=h:h;*,*&resize=68:*&output-format=jpg&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 · 38 reviews · 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/