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

/
/
s

Test String

Code Generator

Generated Code

$re = '/data-buying-option-index="2".*?(?=<\/div><\/div>)/s'; $str = '<div id="audibleCashAccordionRow" data-buying-option-index="2" class="a-box celwidget" data-a-accordion-row-name="audibleCashAccordionRow" data-csa-c-id="297pbs-gml7x1-yq8n6r-b35kcd"><div class="a-box-inner a-accordion-row-container"> <div data-csa-c-asin="" data-csa-c-content-id="offer_display_desktop_accordion_header" data-csa-c-is-in-initial-active-row="false" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-type="widget" aria-expanded="false" data-action="a-accordion" class="a-accordion-row-a11y a-accordion-row a-declarative a-accordion-sr accordion-header mobb-header-css" role="button" tabindex="0" aria-label="" data-csa-c-id="tq93ze-m6qlcs-x8ktk5-jrdy4f" aria-controls="a-accordion-auto-2"><i class="a-icon a-accordion-radio a-icon-radio-inactive"></i> <h5 aria-level="3"> <div data-test="adbl_bb_header_text" id="adbl_bb_header_text_2" class="a-row accordion-caption"> <span> One-time purchase: </span> </div> <div class="a-row a-spacing-mini"> </div> <div id="apex_offerDisplay_desktop" class="celwidget" data-feature-name="apex_offerDisplay_desktop" data-csa-c-type="widget" data-csa-c-content-id="apex_offerDisplay_desktop" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="4oi1d7-9g6wx8-ehnmcz-avtaap"> <div data-csa-c-type="widget" data-csa-c-slot-id="apex_dp_offer_display" data-csa-c-content-id="apex" data-csa-c-buying-option-type="AUDIBLE_CASH" data-csa-c-id="6qbc1a-ccnk0p-o3ho3h-ve2nmg"> <div id="corePrice_feature_div" class="celwidget" data-feature-name="corePrice" data-csa-c-type="widget" data-csa-c-content-id="corePrice" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="tmhvda-eie8lo-cp8kyj-f65fvl"> <script type="text/javascript"> P.when("A", "a-expander", "ready").execute(function(A, expander) { A.on("a:accordion:buybox-accordion:select", function(data) { // Change active accordion pricing to APEX pricing A.$("#buyBoxAccordion").find(".accordion-header div[id^=adbl_bb_price]") .removeClass("adbl_bb_price_show").addClass("adbl_bb_price_hide"); A.$(data.selectedRow.$row).find(".accordion-header div[id^=adbl_bb_price]") .removeClass("adbl_bb_price_hide").addClass("adbl_bb_price_show"); //initialize accordion expander expander.initializeExpanders(); }); }); </script> <style type="text/css"> /* Display price in a table block so it does not overflow, ref: https://t.corp.amazon.com/D76383263 */ div[id^=\'adbl_bb_price\'] { display: table; } /* APEX Pricing for Mobile & MobileApp */ .adbl_bb_price_show .adbl_bb_savings_percent { color: #CC0C39; font-size: 36px; font-weight: 300; } .adbl_bb_price_hide .adbl_bb_savings_percent { color: #CC0C39; font-size: 24px; font-weight: 300; } .adbl_bb_pay_price { font-weight: 400; } .adbl_bb_price_show .a-price-whole { font-size: 38px; } .adbl_bb_price_hide .a-price-whole { font-size: 24px; } .adbl_bb_price_show .a-price-symbol, .adbl_bb_price_show .a-price-fraction { display: table-caption; font-size: 15px !important; line-height: 26px; } .adbl_bb_price_hide .a-price-symbol, .adbl_bb_price_hide .a-price-fraction { display: table-caption; font-size: 13px !important; line-height: 10px; } #mobile_buybox .adbl_bb_price_show .a-price-symbol, #mobile_buybox .adbl_bb_price_show .a-price-fraction { display: inline-block !important; top: -15px !important; } #mobile_buybox .adbl_bb_price_hide .a-price-symbol, #mobile_buybox .adbl_bb_price_hide .a-price-fraction { display: inline-block !important; } #mobileapp_buybox .adbl_bb_price_show .a-price-symbol, #mobileapp_buybox .adbl_bb_price_show .a-price-fraction { display: inline-block !important; top: -15px !important; } #mobileapp_buybox .adbl_bb_price_hide .a-price-symbol, #mobileapp_buybox .adbl_bb_price_hide .a-price-fraction { display: inline-block !important; } /* APEX Pricing for Desktop */ #desktop_buybox .adbl_bb_price_show .adbl_bb_savings_percent { color: #CC0C39; font-size: 24px; font-weight: 300; } #desktop_buybox .adbl_bb_price_hide .adbl_bb_savings_percent { color: #CC0C39; font-size: 21px; font-weight: 300; } #desktop_buybox .adbl_bb_pay_price { font-weight: 400; } #desktop_buybox .adbl_bb_price_show .a-price-whole { font-size: 28px; } #desktop_buybox .adbl_bb_price_hide .a-price-whole { font-size: 21px; } #desktop_buybox .adbl_bb_price_show .a-price-symbol, #desktop_buybox .adbl_bb_price_show .a-price-fraction { display: inline-block; font-size: 13px !important; line-height: 16px; top:-10px !important; } #desktop_buybox .adbl_bb_price_hide .a-price-symbol, #desktop_buybox .adbl_bb_price_hide .a-price-fraction { display: inline-block; font-size: 12px !important; line-height: 9px; } </style> <div data-test="adbl_bb_price" aria-label="$1.83" id="adbl_bb_price_2" class="a-row adbl_bb_price_hide"> <span class="adbl_bb_savings_percent"> -12% </span> <span class="a-price adbl_bb_pay_price" data-a-size="l" data-a-color="base"><span class="a-offscreen">$1.83</span><span aria-hidden="true"><span class="a-price-symbol">$</span><span class="a-price-whole">1<span class="a-price-decimal">.</span></span><span class="a-price-fraction">83</span></span></span> </div> <div style="margin-bottom: -10px"> </div> <div id="regulatoryDeposit_feature_div" class="celwidget" data-feature-name="regulatoryDeposit" data-csa-c-type="widget" data-csa-c-content-id="regulatoryDeposit" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="8vcnau-gu21wr-m3zba1-8qf7q2"> </div> </div> </div> <div id="apex_accordion_header_below_price_desktop" class="celwidget" data-feature-name="apex_accordion_header_below_price_desktop" data-csa-c-type="widget" data-csa-c-content-id="apex_accordion_header_below_price_desktop" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="rgwoew-nkqlkg-ioce8m-7f36cn"> <div id="pointsAbbreviated_feature_div" class="celwidget" data-feature-name="pointsAbbreviated" data-csa-c-type="widget" data-csa-c-content-id="pointsAbbreviated" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="eiloh0-75j3wz-a3va3x-z1fjpl"> </div> <div id="globalStoreIfdAbbreviated_feature_div" class="celwidget" data-feature-name="globalStoreIfdAbbreviated" data-csa-c-type="widget" data-csa-c-content-id="globalStoreIfdAbbreviated" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="xb28g5-2lq2vy-zb5691-rs3hln"> </div> <div id="primeBadgeAndShippingMessageAbbreviated_feature_div" class="celwidget" data-feature-name="primeBadgeAndShippingMessageAbbreviated" data-csa-c-type="widget" data-csa-c-content-id="primeBadgeAndShippingMessageAbbreviated" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="6xz56j-39qdpp-yj0m3j-eeo1vb"> <div id="abbreviate_shipping_accordion_head" class="a-column a-span12 a-text-left show-on-unselected"> <div class="a-row a-color-secondary"> <dptags:querylogoperation methodname="addCount" metric="FSPB:ABBREVIATED:JSP_RENDER:renderCount"> </dptags:querylogoperation></div> </div> <div id="mfn_shipping_accordion_head" class="a-column a-span12 a-text-left show-on-unselected"> <div class="a-row a-color-secondary"> </div> </div> </div> <div id="creturnsPolicyMessageInsideAccordionHeader_feature_div" class="celwidget" data-feature-name="creturnsPolicyMessageInsideAccordionHeader" data-csa-c-type="widget" data-csa-c-content-id="creturnsPolicyMessageInsideAccordionHeader" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="adz5ey-t2x9mm-pi6jtg-uzh5fc"> </div> <div id="globalStoreImportBadgeAbbreviated_feature_div" class="celwidget" data-feature-name="globalStoreImportBadgeAbbreviated" data-csa-c-type="widget" data-csa-c-content-id="globalStoreImportBadgeAbbreviated" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="kuynsy-ggk2ww-ne09tl-okhx1s"> </div> <div id="deliveryBlockAbbreviated_feature_div" class="celwidget" data-feature-name="deliveryBlockAbbreviated" data-csa-c-type="widget" data-csa-c-content-id="deliveryBlockAbbreviated" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="pczyvm-412k87-yudzrk-k6ryx6"> <div class="a-row"> <div id="abbreviate_ddm_accordion_head" class="a-column a-span12 a-text-left show-on-unselected"> <div class="a-row a-color-secondary"> <div id="delivery_block_small_accordion_head" class="a-column a-span12 a-text-left show-on-unselected"> <div class="a-row a-color-secondary"> <div class="a-row"> <div id="deliveryBlockSmallModCollapsedMessageAccordionHead" class="a-column a-span12 a-text-left show-on-unselected"> <div class="a-row a-color-secondary"> <div id="deliveryBlockSmallModCollapsedMessage" class="a-section a-spacing-none"> <div id="deliveryBlockSmallMessage" class="a-section a-spacing-none"> <div id="mir-layout-DELIVERY_BLOCK"></div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div></h5> </div> <div class="a-accordion-inner accordion-row-content" id="a-accordion-auto-2"> <div class="a-row a-spacing-top-small a-size-mini a-color-secondary"> <span data-test="adbl_bb_list_price"> List Price: <span class="a-price a-text-price" data-a-size="mini" data-a-strike="true"><span class="a-offscreen">$2.09</span><span aria-hidden="true">$2.09</span></span> </span> </div> <div class="a-row a-spacing-none a-spacing-top-base"> <div data-test="adbl_bb_cart_button" class="a-section a-spacing-none a-spacing-top-small"> <span class="a-declarative" data-action="aud_buy_box_cart_action" data-aud_buy_box_cart_action="{}"> <form method="post" action="/cart/add-to-cart?ref_=pdp_bb_adbl_add_cart" class="a-spacing-none"> <!-- sp:csrf --><input type="hidden" name="anti-csrftoken-a2z" value="hCAYW0tVJMEDYGx7Jsvv3wxTiawWice1SCFPGKPTkOWmAAAAAGf3M30yZjFhNWMxZi01ZGM0LTRmYzUtYWNlYy0yZWZkMzA2NGMxNDU="><!-- sp:end-csrf --> <input type="hidden" name="clientName" value="Audible_AudibleBuyingOptions_DetailPage"> <input type="hidden" name="isNeoAddToCart" value="true"> <input type="hidden" name="items[0.base][asin]" value="B0DK9YJ2F9"> <input type="hidden" name="buttonType" value="cart"> <div class="a-section"> <span class="a-button a-button-span12 a-button-primary a-button-icon" id="a-autoid-6"><span class="a-button-inner"><i class="a-icon a-icon-cart"></i><input class="a-button-input" type="submit" aria-labelledby="a-autoid-6-announce"><span class="a-button-text" aria-hidden="true" id="a-autoid-6-announce"> Add to Cart </span></span></span> </div> </form> </span> <script type="text/javascript">(function(f) {var _np=(window.P._namespace("AudibleDetailPageFeatureTemplates"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when(\'A\').execute(function(A) { var buyButtonPressed = false; A.declarative(\'aud_buy_box_cart_action\', \'click\', function(event) { if(event && event.targetTag === "input") { if (!buyButtonPressed) { buyButtonPressed = true; } else { event.$event.preventDefault(); } if (\'T1\' === \'T1\' && true) { logAddToCartMetrics(\'audible_on_amazon_add_to_cart::authed_T1\'); logAddToCartClickStream("authed_T1." + "B0DK9YJ2F9", \'AUDIBLE_CASH\', \'AUDIBLE_CASH.AddToCart.authed_T1\'); } else if (\'T1\' === \'T1\' && !true) { logAddToCartMetrics(\'audible_on_amazon_add_to_cart::anon_T1\'); logAddToCartClickStream("anon_T1." + "B0DK9YJ2F9", \'AUDIBLE_CASH\', \'AUDIBLE_CASH.AddToCart.anon_T1\'); } } }); function logAddToCartMetrics(metricsName) { A.ajax("/hz/audible/metrics", { method: \'POST\', params: { \'metrics\': metricsName } }); } function logAddToCartClickStream(weblabTreatmentAndAsin, buyingOptionType, pageAction) { A.ajax("/hz/audible/clickstream", { method: \'POST\', params: { \'asin\': weblabTreatmentAndAsin, \'event-aud-action\': "CONSUMPTION", \'event-aud-type\': "AmazonAddToCart", \'event-aud-subType\': buyingOptionType, \'page-action\': pageAction }, success: function(result){}, error: function(result){} }); } }); }));</script> </div> </div> <div class="a-row a-spacing-mini a-spacing-top-small"> <div data-test="adbl_bb_button" class="a-section a-spacing-small a-spacing-top-small"> <span class="a-declarative" data-action="aud_buy_box_purchase_action_AUDIBLE_CASH" data-aud_buy_box_purchase_action_audible_cash="{&quot;buyingOptionType&quot;:&quot;AUDIBLE_CASH&quot;}"> <form method="post" action="/hz/audible/checkout?ref=adbl_dp_dt_csn_bb" class="a-spacing-none"> <input type="hidden" name="surface" value=""> <input type="hidden" name="buyingOptionId" value="eyJvZmZlclNlcnZpY2VPcmlnaW4iOiJBdWRpYmxlQnV5aW5nT3B0aW9uc1NlcnZpY2UiLCJyYW5rIjoxMDAwLCJwcmljZSI6eyJjdXJyZW5jeSI6eyJjb2RlIjoiVVNEIiwidmFsdWUiOjEuODN9LCJwcmljZVR5cGUiOiJDb21wZXRpdGl2ZSIsIm9mZmVyTGlzdGluZ0lkIjoiNHpXeFFiN20lMkJMd2x3ano5a2tFZUVpRjVwJTJCdXQ3d1BReGxWV1pvRDl1ckZ5SG90cEZTJTJGZmp6SVVhUmZXbnduemRNNUklMkIxR21RNnlDZDNWdlh1OHVPNDFObFlGZkdBdWhqJTJCY0p2OWZTRzExOXZCS1I1TkRDVXRzcFclMkJITiUyQmtnTSUyRlZVU0prRDVVNGMzT0Vha3QwT2ttS3k3YVJ1Qkh4T3ZxS0QyY3l2d0ZxUk90ckklMkZpM0tyTGpFRXJHSVBTUFRkIiwidGF4UHJpY2VUeXBlIjoiZXhjbHVzaXZlIiwiX19jbGFzcyI6ImNvbS5hbWF6b24uYXVkaWJsZWJ1eWluZ29wdGlvbnNzZXJ2aWNlLkNvbnRlbnRQcmljZSJ9LCJidXlhYmlsaXR5IjoiQlVZQUJMRSIsInByb2dyYW1zIjpbIkNPTVBFVElUSVZFIl0sImNsaWVudENvbnRleHQiOnsiY2xpZW50SWQiOiJBbWF6b25Ib21lc3RlYWREUCIsInNlc3Npb25JZCI6IjEzNC00NTYwNjY0LTI3OTM0MDciLCJpc1dhbGxldEVsaWdpYmxlIjpmYWxzZX0sIm9mZmVyVHlwZUlkIjoiQ09NUEVUSVRJVkVfUFJJQ0UiLCJvZmZlclR5cGUiOiJDQVNIIn0="> <input type="hidden" name="apCheck" value="1"> <input type="hidden" name="surfaceType" value="Desktop"> <input type="hidden" name="HMAC" value="guAoxm+k+tTf13NzG1lkp8WSJqtPasxaxWD4YRgAAAACAAAAAGf3M31yYXcAAAAAPVZHwIAfyME6jYIqz6iU"> <input type="hidden" name="priceType" value="Competitive"> <input type="hidden" name="lmsStringId" value="aud_dp_bb_v2_cash_buy_now_button_text"> <input type="hidden" name="productAsin" value="B0DK9YJ2F9"> <input type="hidden" name="ASIN" value="B0DK9YJ2F9"> <input type="hidden" name="sourceAsin" value="B0DK9YJ2F9"> <input type="hidden" name="isYouPay" value="false"> <input type="hidden" name="purchaseType" value="cash"> <input type="hidden" name="offerType" value="CASH"> <input type="hidden" name="buyingOptionType" value="CASH"> <input type="hidden" name="HMAC2" value="guAoxm+k+tTf13NzG1lkp8WSJqtPasxaxWD4YRgAAAACAAAAAGf3M31yYXcAAAAAPVZHwIAfyME6jYIqz6iU"> <input type="hidden" name="audibleASIN" value="B0DK9WBJTR"> <input type="hidden" name="ctaType" value="POST"> <input type="hidden" name="buttonType" value="oneclick"> <input type="hidden" name="isTeenCustomer" value="false"> <input type="hidden" name="actionCode" value="AMZGCWS0326149093"> <input type="hidden" name="programs" value="COMPETITIVE"> <input type="hidden" name="isGooglePlayApp" value="false"> <div class="a-section"> <span class="a-button a-button-span12 a-button-oneclick a-button-icon" id="a-autoid-7"><span class="a-button-inner"><i class="a-icon a-icon-1click"></i><input aria-label="Buy Now" class="a-button-input" type="submit"><span class="a-button-text" aria-hidden="true" id="a-autoid-7-announce"> Buy Now </span></span></span> </div> </form> </span> <script type="text/javascript">(function(f) {var _np=(window.P._namespace("AudibleDetailPageFeatureTemplates"));if(_np.guardFatal){_np.guardFatal(f)(_np);}else{f(_np);}}(function(P) { P.when(\'A\').execute(function(A) { var $ = A.$; var buyingOptionType = \'AUDIBLE_CASH\'; A.declarative(\'aud_buy_box_purchase_action_\' + buyingOptionType, \'click\', function(event){ if(event && event.targetTag === "input") { if ($(document).data(\'buyButtonPressed\') !== \'true\') { $(document).data(\'buyButtonPressed\', \'true\'); } else { event.$event.preventDefault(); } if (\'AUDIBLE_CASH\' === \'AUDIBLE_CASH\' && buyingOptionType === \'AUDIBLE_CASH\') { if (\'T1\' === \'T1\' && true) { logOneClickMetrics(\'audible_on_amazon_1_click_CASH::authed_T1\'); logOneClickClickStream("authed_T1." + "B0DK9YJ2F9", \'AUDIBLE_CASH\', \'AUDIBLE_CASH.OneClick.authed_T1\'); } else if (\'T1\' === \'C\' && true) { logOneClickMetrics(\'audible_on_amazon_1_click_CASH::authed_C\'); logOneClickClickStream("authed_C." + "B0DK9YJ2F9", \'AUDIBLE_CASH\', \'AUDIBLE_CASH.OneClick.authed_C\'); } else if (\'T1\' === \'T1\' && !true) { logOneClickMetrics(\'audible_on_amazon_1_click_CASH::anon_T1\'); logOneClickClickStream("anon_T1." + "B0DK9YJ2F9", \'AUDIBLE_CASH\', \'AUDIBLE_CASH.OneClick.anon_T1\'); } else if (\'T1\' === \'C\' && !true) { logOneClickMetrics(\'audible_on_amazon_1_click_CASH::anon_C\'); logOneClickClickStream("anon_C." + "B0DK9YJ2F9", \'AUDIBLE_CASH\', \'AUDIBLE_CASH.OneClick.anon_C\'); } if (\'false\' === \'true\') { logOneClickMetrics(\'audible_on_amazon_1_click_CASH::YouPayEnabled\'); logOneClickClickStream("YouPayEnabled." + "B0DK9YJ2F9", \'AUDIBLE_CASH\', \'AUDIBLE_CASH.OneClick\'); } } } }); function logOneClickMetrics(metricsName) { A.ajax("/hz/audible/metrics", { method: \'POST\', params: { \'metrics\': metricsName } }); } function logOneClickClickStream(weblabTreatmentAndAsin, buyingOptionType, pageAction) { A.ajax("/hz/audible/clickstream", { method: \'POST\', params: { \'asin\': weblabTreatmentAndAsin, \'event-aud-action\': "CONSUMPTION", \'event-aud-type\': "AmazonOneClickPurchase", \'event-aud-subType\': buyingOptionType, \'page-action\': pageAction }, success: function(result){}, error: function(result){} }); } }); }));</script> </div> </div> <!-- Show shortMessage for ALC --> <div data-test="adbl_bb_alc_subtext" class="a-section a-spacing-micro"> <span class="a-size-mini"> No Monthly Fees </span> </div> <div id="legaltext" class="celwidget" data-feature-name="legaltext" data-csa-c-type="widget" data-csa-c-content-id="legaltext" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="rzrg4e-jkks0n-w8qkks-gj34dr"> <div class="a-row a-spacing-mini a-size-mini"> <div id="additionalText" data-test="adbl_bb_legaltext" class="a-section a-spacing-micro"> <span class="a-size-mini"><span>By completing your purchase, you agree to Audible’s</span></span> <span class="a-declarative" data-action="a-modal" data-a-modal="{&quot;header&quot;:&quot;\\u003cspan class=\\&quot;a-size-mini\\&quot;>\\u003cspan>Conditions Of Use.\\u003c\\/span>\\u003c\\/span> &quot;,&quot;url&quot;:&quot;/hz/audible/ajax/audible-terms-and-conditions-ajax.html?type=cou&quot;}"><a href="javascript:void(0)" role="button" class="a-popover-trigger a-declarative" aria-controls="a-accordion-auto-2"><span class="a-size-mini"><span>Conditions Of Use.</span></span> <i class="a-icon a-icon-popover"></i></a></span><span class="a-size-mini"><span>and Amazon\'s</span></span> <a class="a-link-normal" href="/gp/help/customer/display.html/?nodeId=468496"><span class="a-size-mini"><span>Privacy Notice.</span></span> </a><span class="a-size-mini"><span>Taxes where applicable.</span></span> </div> </div> </div> <div class="a-row a-spacing-base a-spacing-top-small a-size-mini"> <span data-test="adbl_bb_sold_delivered_by" class="a-color-secondary">Sold and delivered by Audible, an Amazon company</span> </div> <div id="audible_link_to_mlp_iap_feature_div" class="celwidget" data-feature-name="audible_link_to_mlp_iap" data-csa-c-type="widget" data-csa-c-content-id="audible_link_to_mlp_iap" data-csa-c-slot-id="audibleCashAccordionRow" data-csa-c-asin="" data-csa-c-is-in-initial-active-row="false" data-csa-c-id="qem6se-xb977s-nli3h9-5v206q"> </div> <style type="text/css"> /* Remove carat icon from the model aapi:richcontent implementation of additional text*/ #additionalText > span.a-declarative > a > i { display: none; } /* Remove additional padding around pop over modal for terms and conditions from the aapi:richContent implementation */ #additionalText .a-popover-trigger { padding: 0px 0px; display: inline; } </style> </div> </div></div>'; preg_match($re, $str, $matches, PREG_OFFSET_CAPTURE, 0); // Print the entire match result var_dump($matches);

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 PHP, please visit: http://php.net/manual/en/ref.pcre.php