// 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#"(?m)<div\sid=\"olpProduct[\s\S]*?<div[\s\S]*?<div[\s\S]*?<a\shref=\"[\s\S]*?\/\/www.amazon.com\/[\s\S]*?\/[\s\S]*?\/(.*?)\/ref=olp"#).unwrap();
let string = "<div id=\"olpProduct\" class=\"a-section a-spacing-none\">
<div class=\"a-section a-spacing-mini\">
<div class=\"a-section a-spacing-mini\">
‹ <a href=\"https://www.amazon.com/Keds-Womens-Chillax-Laceless-Sneaker/dp/B00MC3R3M6/ref=olp_product_details?_encoding=UTF8&me=\" id=\"olpDetailPageLink\">Return to product information</a>
<i class=\"a-icon a-icon-text-separator\" role=\"img\"></i>
Every purchase on Amazon.com is protected by an <a href=\"/gp/help/customer/display.html/ref=olp_wa_1?ie=UTF8&nodeId=537868&pop-up=1\" id=\"olpAZGuarantee\" target=\"AmazonHelp\" onclick=\"return amz_js_PopWin('/gp/help/customer/display.html/ref=olp_wa_1?ie=UTF8&nodeId=537868&pop-up=1','AmazonHelp','width=400,height=400,resizable=1,scrollbars=1,toolbar=1,status=1');\">A-to-z guarantee</a>.
<i class=\"a-icon a-icon-text-separator\" role=\"img\"></i>
Feedback on this page?
<a class=\"a-link-normal olpFeedbackLink\" href=\"/forms/33ec5bb5-b0aa-4730-9bba-9b346c8d2499\">
Tell us what you think
</a>
</div>
<div class=\"a-fixed-left-grid a-spacing-base\"><div class=\"a-fixed-left-grid-inner\" style=\"padding-left:170px\">
<div id=\"olpProductImage\" class=\"a-text-center a-fixed-left-grid-col a-col-left\" style=\"width:170px;margin-left:-170px;float:left;\">
<a class=\"a-link-normal\" href=\"https://www.amazon.com/Keds-Womens-Chillax-Laceless-Sneaker/dp/B00MC3R3M6/ref=olp_product_details?_encoding=UTF8&me=\">
<img alt=\"Return to product information\" src=\"https://images-na.ssl-images-amazon.com/images/I/41p2f8xA8TL._SS160_.jpg\">
</a>
</div>
<div id=\"olpProductDetails\" class=\"a-fixed-left-grid-col a-col-right\" style=\"padding-left:0%;float:left;\">
<h1 class=\"a-size-large a-spacing-none\" role=\"main\"> <div class=\"a-section a-spacing-none olpSubHeadingSection\"> <span class=\"a-size-base a-color-secondary\"> </span> </div> Keds Women's Chillax Washed Laceless Slip-On Sneaker, Taupe, 8 M US
</h1>
<div id=\"olpProductByline\" class=\"a-section a-spacing-mini\">
by Keds
</div>
<div class=\"a-section a-spacing-small\">
<span class=\"offerListingPageB00MC3R3M6\">
<span class=\"a-declarative\" data-action=\"a-popover\" data-a-popover=\"{"closeButton":"false","max-width":"700","position":"triggerBottom","url":"/review/widgets/average-customer-review/popover/ref=acr_offerlistingpage_popover?ie=UTF8&asin=B00MC3R3M6&contextId=offerListingPage&ref=acr_offerlistingpage_popover"}\">
<a href=\"javascript:void(0)\" class=\"a-popover-trigger a-declarative\">
</a><a class=\"a-link-normal a-text-normal\" href=\"https://www.amazon.com/product-reviews/B00MC3R3M6/ref=acr_offerlistingpage_text?ie=UTF8&showViewpoints=1\">
<i class=\"a-icon a-icon-star a-star-4-5\"><span class=\"a-icon-alt\">4.3 out of 5 stars</span></i>
</a>
<i class=\"a-icon a-icon-popover\"></i>
</span>
<span class=\"a-letter-space\"></span>
<span class=\"a-size-small\">
<a class=\"a-link-normal\" href=\"https://www.amazon.com/product-reviews/B00MC3R3M6/ref=acr_offerlistingpage_text?ie=UTF8&showViewpoints=1\">
1,015 customer reviews
</a>
</span>
</span>
<i class=\"a-icon a-icon-text-separator\" role=\"img\"></i>
<style type=\"text/css\">
#auiswfText:hover, .emailImg:hover, .tafSocial:hover{
text-decoration : none !important;
}
#tellafriendAUI .emailtext, #tellafriendAUI .emailImg, #tellafriendAUI .tafSocial {
padding : 0px !important;
margin : 0px !important;
text-decoration : none !important;
}
</style>
<span id=\"tellafriendAUI\">
<span class=\"a-declarative\" data-action=\"a-modal\" data-a-modal=\"{"width":450,"popoverLabel":"Share this via Email","name":"taf-aui","url":"/gp/taf/share.html/ref=cm_sw_p_view_ol_4CVhCbJV9Y2JE?ie=UTF8&ASIN=B00MC3R3M6&action=share&contentID=B00MC3R3M6&contentName=offer%20listing%20page&contentType=offer_page&contentURI=%2Fgp%2Foffer-listing%2FB00MC3R3M6&emailTemplate=%2Fgp%2Fpdp%2Ftaf%2Femail%2Fshare-offer-listing-page&placementID=ol_4CVhCbJV9Y2JE&ref=cm_sw_p_view_ol_4CVhCbJV9Y2JE&showSocialSites=1&site=email&tafAUI=1&titleText=Amazon.com%3A%20Buying%20Choices%3A%20Keds%20Women%27s%20Chillax%20Washed%20Laceless%20Slip-On%20Sneaker%2C%20Taupe%2C%208%20M%20US&view=popup","ajaxFailMsg":"Sorry, content is not available. ","header":"Share this via Email","cache":"false"}\" id=\"swfDeclarative\">
<a id=\"auiswfText\" class=\"a-link-normal emailtext\" title=\"Share via e-mail\" href=\"/gp/taf/share.html/ref=cm_sw_l_view_ol_4CVhCbJV9Y2JE?ie=UTF8&ASIN=B00MC3R3M6&action=share&contentID=B00MC3R3M6&contentName=offer%20listing%20page&contentType=offer_page&contentURI=%2Fgp%2Foffer-listing%2FB00MC3R3M6&emailTemplate=%2Fgp%2Fpdp%2Ftaf%2Femail%2Fshare-offer-listing-page&placementID=ol_4CVhCbJV9Y2JE&ref=cm_sw_l_view_ol_4CVhCbJV9Y2JE&showSocialSites=1&site=email&tafAUI=1&titleText=Amazon.com%3A%20Buying%20Choices%3A%20Keds%20Women%27s%20Chillax%20Washed%20Laceless%20Slip-On%20Sneaker%2C%20Taupe%2C%208%20M%20US&view=standalone\">
<span class=\"shareTextAUI\">Share</span><span class=\"a-letter-space\"></span>
</a>
<a id=\"auiSwfEmail\" class=\"a-link-normal emailImg\" title=\"Share via e-mail\" href=\"#\">
<i class=\"a-icon a-icon-share-email\" role=\"img\"></i><span class=\"a-letter-space\"></span>
</a>
</span>
<a id=\"auiSwfFb\" class=\"a-link-normal tafSocial\" title=\"Share on Facebook\" href=\"/gp/taf/share.html/ref=fa?ie=UTF8&=&ASIN=B00MC3R3M6&action=share&contentID=B00MC3R3M6&contentName=offer%20listing%20page&contentType=offer_page&contentURI=%2Fgp%2Foffer-listing%2FB00MC3R3M6&imageURL=&placementID=ol&reftagSuffix=&site=facebook&titleText=Amazon.com%3A%20Buying%20Choices%3A%20Keds%20Women%27s%20Chillax%20Washed%20Laceless%20Slip-On%20Sneaker%2C%20Taupe%2C%208%20M%20US\">
<span class=\"windowParams\" data-network=\"facebook\" data-height=\"400\" data-width=\"700\"></span>
<i class=\"a-icon a-icon-share-facebook\" role=\"img\"></i><span class=\"a-letter-space\"></span>
</a>
<a id=\"auiSwfTw\" class=\"a-link-normal tafSocial\" title=\"Share on Twitter\" href=\"/gp/taf/share.html/ref=tw?ie=UTF8&=&ASIN=B00MC3R3M6&action=share&contentID=B00MC3R3M6&contentName=offer%20listing%20page&contentType=offer_page&contentURI=%2Fgp%2Foffer-listing%2FB00MC3R3M6&imageURL=&placementID=ol&reftagSuffix=&site=twitter&titleText=Amazon.com%3A%20Buying%20Choices%3A%20Keds%20Women%27s%20Chillax%20Washed%20Laceless%20Slip-On%20Sneaker%2C%20Taupe%2C%208%20M%20US\">
<span class=\"windowParams\" data-network=\"twitter\" data-height=\"400\" data-width=\"700\"></span>
<i class=\"a-icon a-icon-share-twitter\" role=\"img\"></i><span class=\"a-letter-space\"></span>
</a>
</span>
<script language=\"JavaScript\" type=\"text/JavaScript\">
P.when('A','jQuery').execute(function(A,$) {
$('.tafSocial').unbind('click').click(function() {
var windowParams = $(this).children('.windowParams');
var height = windowParams.data(\"height\");
var width = windowParams.data(\"width\");
window.open(this.href, \"_blank\", \"location=yes,width=\" + width +\",height=\" + height);
return false;
});
A.on.load(function () {
var hashValue = window.location.hash;
var hashIndex;
var swfHashValue = \"_swftext_Swf\";
hashIndex = hashValue.indexOf(swfHashValue);
if (hashValue != \"\" && hashIndex > -1 && typeof(window.swfPopUpShown) === 'undefined') {
$(\"#auiswfText\").click();
window.swfPopUpShown = 1;
}
});
});
</script>
</div>
<div id=\"variationsTwister\" class=\"a-section a-spacing-mini\">
<div class=\"a-section a-spacing-micro\">
<span class=\"a-size-base\">Size:</span>
<span class=\"a-size-base a-text-bold\"></span>
</div>
<span class=\"a-dropdown-container\"><select name=\"\" autocomplete=\"off\" data-a-native-class=\"olpTwisterDropdown\" tabindex=\"-1\" class=\"a-native-dropdown a-spacing-small olpTwisterDropdown\">
<option value=\"/gp/offer-listing/B00NNA39IE/ref=olp_twister_all?ie=UTF8&mv_color_name=3&mv_size_name=all\">
Lowest offer for each
</option>
<option value=\"/gp/offer-listing/B00MC3QSKO/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=0\">
5 M US
</option>
<option value=\"/gp/offer-listing/B00MC3QU1G/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=1\">
5.5 M US
</option>
<option value=\"/gp/offer-listing/B00MC3QX72/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=2\">
6 M US
</option>
<option value=\"/gp/offer-listing/B00MC3QYQC/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=3\">
6.5 M US
</option>
<option value=\"/gp/offer-listing/B00MC3R0PQ/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=4\">
7 M US
</option>
<option value=\"/gp/offer-listing/B00MC3R23Q/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=5\">
7.5 M US
</option>
<option value=\"/gp/offer-listing/B00MC3R3M6/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=6\" selected=\"\">
8 M US
</option>
<option value=\"/gp/offer-listing/B00MC3R6LO/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=7\">
8.5 M US
</option>
<option value=\"/gp/offer-listing/B00MC3R9IY/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=8\">
9 M US
</option>
<option value=\"/gp/offer-listing/B00MC3RBE6/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=9\">
9.5 M US
</option>
<option value=\"/gp/offer-listing/B00MC3RCPY/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=10\">
10 M US
</option>
</select><span tabindex=\"-1\" id=\"olpTwisterDropdownAUI\" class=\"a-button a-button-dropdown a-button-small a-spacing-small\" style=\"min-width: 0.583333%;\"><span class=\"a-button-inner\"><span class=\"a-button-text a-declarative\" data-action=\"a-dropdown-button\" role=\"button\" tabindex=\"0\" aria-hidden=\"true\"><span class=\"a-dropdown-prompt\">
8 M US
</span></span><i class=\"a-icon a-icon-dropdown\"></i></span></span></span>
<div class=\"a-section a-spacing-micro\">
<span class=\"a-size-base\">Color:</span>
<span class=\"a-size-base a-text-bold\">Taupe</span>
</div>
<ul class=\"a-unordered-list a-nostyle a-button-list a-declarative a-button-toggle-group a-horizontal a-spacing-small\" role=\"radiogroup\" data-action=\"a-button-group\">
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-thumbnail a-button-toggle\" id=\"a-autoid-0\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B0002MB0DM/ref=olp_twister_child?ie=UTF8&mv_color_name=0&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-0-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41jl1EwZjHL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-thumbnail a-button-toggle\" id=\"a-autoid-1\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B005BFV1DO/ref=olp_twister_child?ie=UTF8&mv_color_name=1&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-1-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41XqEgaqwtL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-thumbnail a-button-toggle\" id=\"a-autoid-2\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B00MC3SFXW/ref=olp_twister_child?ie=UTF8&mv_color_name=2&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-2-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41cNhnckTFL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-selected a-button-thumbnail a-button-toggle\" id=\"a-autoid-3\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B00MC3R3M6/ref=olp_twister_child?ie=UTF8&mv_color_name=3&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-3-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41p2f8xA8TL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-thumbnail a-button-toggle\" id=\"a-autoid-4\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B011SBR9PS/ref=olp_twister_child?ie=UTF8&mv_color_name=4&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-4-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/311Xw94d26L._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-thumbnail a-button-toggle\" id=\"a-autoid-5\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B07FYS34S4/ref=olp_twister_child?ie=UTF8&mv_color_name=5&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-5-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41r4qvtmEkL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-thumbnail a-button-toggle\" id=\"a-autoid-6\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B00MC3TVSK/ref=olp_twister_child?ie=UTF8&mv_color_name=6&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-6-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/31YEDbIcNwL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-thumbnail a-button-toggle\" id=\"a-autoid-7\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B016W1Z1RC/ref=olp_twister_child?ie=UTF8&mv_color_name=7&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-7-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41plM8TSFBL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-thumbnail a-button-toggle\" id=\"a-autoid-8\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B0007L7WPS/ref=olp_twister_child?ie=UTF8&mv_color_name=8&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-8-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41NGM8gp7hL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</a></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-disabled a-button-thumbnail a-button-toggle\" id=\"a-autoid-9\"><span class=\"a-button-inner\"><input disabled=\"disabled\" class=\"a-button-input\" type=\"submit\" aria-labelledby=\"a-autoid-9-announce\"><span class=\"a-button-text\" aria-hidden=\"true\" id=\"a-autoid-9-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41WBKxWvoLL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</span></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-disabled a-button-thumbnail a-button-toggle\" id=\"a-autoid-10\"><span class=\"a-button-inner\"><input disabled=\"disabled\" class=\"a-button-input\" type=\"submit\" aria-labelledby=\"a-autoid-10-announce\"><span class=\"a-button-text\" aria-hidden=\"true\" id=\"a-autoid-10-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41ap6ahxMRL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</span></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-disabled a-button-thumbnail a-button-toggle\" id=\"a-autoid-11\"><span class=\"a-button-inner\"><input disabled=\"disabled\" class=\"a-button-input\" type=\"submit\" aria-labelledby=\"a-autoid-11-announce\"><span class=\"a-button-text\" aria-hidden=\"true\" id=\"a-autoid-11-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/41QD5K54hPL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</span></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-disabled a-button-thumbnail a-button-toggle\" id=\"a-autoid-12\"><span class=\"a-button-inner\"><input disabled=\"disabled\" class=\"a-button-input\" type=\"submit\" aria-labelledby=\"a-autoid-12-announce\"><span class=\"a-button-text\" aria-hidden=\"true\" id=\"a-autoid-12-announce\">
<img alt=\"\" src=\"https://images-na.ssl-images-amazon.com/images/I/31qtQ78OWiL._SX35_SY35_CR,0,0,35,35_.jpg\" height=\"35\" width=\"35\">
</span></span></span>
</span></li>
<li class=\"a-spacing-mini\"><span class=\"a-list-item\">
<span class=\"a-button a-button-normal a-button-toggle\" id=\"a-autoid-13\"><span class=\"a-button-inner\"><a href=\"/gp/offer-listing/B00NNA39IE/ref=olp_twister_all?ie=UTF8&mv_color_name=all&mv_size_name=6\" class=\"a-button-text\" role=\"button\" id=\"a-autoid-13-announce\">
Lowest offer for each
</a></span></span>
</span></li>
</ul>
</div>
<div class=\"twisterDivider\"></div>
</div>
</div></div>
</div>
</div>";
// result will be an iterator over tuples containing the start and end indices for each match in the string
let result = regex.captures_iter(string);
for mat in result {
println!("{:?}", mat);
}
}
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/