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

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main(String[] args) { final String regex = "data-buying-option-index=\"2\".*?(?=<\\/div><\\/div>)"; final String string = "<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\">\n" + " <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\">\n" + " <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\">\n" + " <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\">\n" + " <script type=\"text/javascript\">\n" + " P.when(\"A\", \"a-expander\", \"ready\").execute(function(A, expander) {\n" + " A.on(\"a:accordion:buybox-accordion:select\", function(data) {\n" + " // Change active accordion pricing to APEX pricing\n" + " A.$(\"#buyBoxAccordion\").find(\".accordion-header div[id^=adbl_bb_price]\")\n" + " .removeClass(\"adbl_bb_price_show\").addClass(\"adbl_bb_price_hide\");\n" + " A.$(data.selectedRow.$row).find(\".accordion-header div[id^=adbl_bb_price]\")\n" + " .removeClass(\"adbl_bb_price_hide\").addClass(\"adbl_bb_price_show\");\n\n" + " //initialize accordion expander\n" + " expander.initializeExpanders();\n" + " });\n" + " });\n" + "</script> <style type=\"text/css\">\n" + " /* Display price in a table block so it does not overflow, ref: https://t.corp.amazon.com/D76383263 */\n" + " div[id^='adbl_bb_price'] {\n" + " display: table;\n" + " }\n\n" + " /* APEX Pricing for Mobile & MobileApp */\n" + " .adbl_bb_price_show .adbl_bb_savings_percent {\n" + " color: #CC0C39;\n" + " font-size: 36px;\n" + " font-weight: 300;\n" + " }\n" + " .adbl_bb_price_hide .adbl_bb_savings_percent {\n" + " color: #CC0C39;\n" + " font-size: 24px;\n" + " font-weight: 300;\n" + " }\n" + " .adbl_bb_pay_price {\n" + " font-weight: 400;\n" + " }\n" + " .adbl_bb_price_show .a-price-whole {\n" + " font-size: 38px;\n" + " }\n" + " .adbl_bb_price_hide .a-price-whole {\n" + " font-size: 24px;\n" + " }\n" + " .adbl_bb_price_show .a-price-symbol, .adbl_bb_price_show .a-price-fraction {\n" + " display: table-caption;\n" + " font-size: 15px !important;\n" + " line-height: 26px;\n" + " }\n" + " .adbl_bb_price_hide .a-price-symbol, .adbl_bb_price_hide .a-price-fraction {\n" + " display: table-caption;\n" + " font-size: 13px !important;\n" + " line-height: 10px;\n" + " }\n\n" + " #mobile_buybox .adbl_bb_price_show .a-price-symbol, #mobile_buybox .adbl_bb_price_show .a-price-fraction {\n" + " display: inline-block !important;\n" + " top: -15px !important;\n" + " }\n" + " #mobile_buybox .adbl_bb_price_hide .a-price-symbol, #mobile_buybox .adbl_bb_price_hide .a-price-fraction {\n" + " display: inline-block !important;\n" + " }\n\n" + " #mobileapp_buybox .adbl_bb_price_show .a-price-symbol, #mobileapp_buybox .adbl_bb_price_show .a-price-fraction {\n" + " display: inline-block !important;\n" + " top: -15px !important;\n" + " }\n" + " #mobileapp_buybox .adbl_bb_price_hide .a-price-symbol, #mobileapp_buybox .adbl_bb_price_hide .a-price-fraction {\n" + " display: inline-block !important;\n" + " }\n\n" + " /* APEX Pricing for Desktop */\n" + " #desktop_buybox .adbl_bb_price_show .adbl_bb_savings_percent {\n" + " color: #CC0C39;\n" + " font-size: 24px;\n" + " font-weight: 300;\n" + " }\n" + " #desktop_buybox .adbl_bb_price_hide .adbl_bb_savings_percent {\n" + " color: #CC0C39;\n" + " font-size: 21px;\n" + " font-weight: 300;\n" + " }\n" + " #desktop_buybox .adbl_bb_pay_price {\n" + " font-weight: 400;\n" + " }\n" + " #desktop_buybox .adbl_bb_price_show .a-price-whole {\n" + " font-size: 28px;\n" + " }\n" + " #desktop_buybox .adbl_bb_price_hide .a-price-whole {\n" + " font-size: 21px;\n" + " }\n" + " #desktop_buybox .adbl_bb_price_show .a-price-symbol, #desktop_buybox .adbl_bb_price_show .a-price-fraction {\n" + " display: inline-block;\n" + " font-size: 13px !important;\n" + " line-height: 16px;\n" + " top:-10px !important;\n" + " }\n" + " #desktop_buybox .adbl_bb_price_hide .a-price-symbol, #desktop_buybox .adbl_bb_price_hide .a-price-fraction {\n" + " display: inline-block;\n" + " font-size: 12px !important;\n" + " line-height: 9px;\n" + " }\n" + "</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\">\n" + " -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\">\n" + " </div>\n" + " <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\">\n" + " </div>\n" + " </div>\n" + " </div>\n" + " <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\">\n" + " <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\">\n" + " </div>\n" + " <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\">\n" + " </div>\n" + " <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\">\n" + " <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\">\n" + " </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>\n" + " <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\">\n" + " </div>\n" + " <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\">\n" + " </div>\n" + " <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\">\n" + " <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\"> \n" + " \n" + " \n" + " <div id=\"mir-layout-DELIVERY_BLOCK\"></div>\n" + " \n" + " </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div>\n" + " </div>\n" + " </div></h5>\n" + " </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 -->\n" + " <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) {\n" + " P.when('A').execute(function(A) {\n" + " var buyButtonPressed = false;\n" + " A.declarative('aud_buy_box_cart_action', 'click', function(event) {\n" + " if(event && event.targetTag === \"input\") {\n" + " if (!buyButtonPressed) {\n" + " buyButtonPressed = true;\n" + " } else {\n" + " event.$event.preventDefault();\n" + " }\n\n" + " if ('T1' === 'T1' && true) {\n" + " logAddToCartMetrics('audible_on_amazon_add_to_cart::authed_T1');\n" + " logAddToCartClickStream(\"authed_T1.\" + \"B0DK9YJ2F9\", 'AUDIBLE_CASH', 'AUDIBLE_CASH.AddToCart.authed_T1');\n" + " } else if ('T1' === 'T1' && !true) {\n" + " logAddToCartMetrics('audible_on_amazon_add_to_cart::anon_T1');\n" + " logAddToCartClickStream(\"anon_T1.\" + \"B0DK9YJ2F9\", 'AUDIBLE_CASH', 'AUDIBLE_CASH.AddToCart.anon_T1');\n" + " }\n" + " }\n" + " });\n\n" + " function logAddToCartMetrics(metricsName) {\n" + " A.ajax(\"/hz/audible/metrics\", {\n" + " method: 'POST',\n" + " params: {\n" + " 'metrics': metricsName\n" + " }\n" + " });\n" + " }\n\n" + " function logAddToCartClickStream(weblabTreatmentAndAsin, buyingOptionType, pageAction) {\n" + " A.ajax(\"/hz/audible/clickstream\", {\n" + " method: 'POST',\n" + " params: {\n" + " 'asin': weblabTreatmentAndAsin,\n" + " 'event-aud-action': \"CONSUMPTION\",\n" + " 'event-aud-type': \"AmazonAddToCart\",\n" + " 'event-aud-subType': buyingOptionType,\n" + " 'page-action': pageAction\n" + " },\n" + " success: function(result){},\n" + " error: function(result){}\n" + " });\n" + " }\n" + " });\n" + "}));</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=\"\">\n" + " <input type=\"hidden\" name=\"buyingOptionId\" value=\"eyJvZmZlclNlcnZpY2VPcmlnaW4iOiJBdWRpYmxlQnV5aW5nT3B0aW9uc1NlcnZpY2UiLCJyYW5rIjoxMDAwLCJwcmljZSI6eyJjdXJyZW5jeSI6eyJjb2RlIjoiVVNEIiwidmFsdWUiOjEuODN9LCJwcmljZVR5cGUiOiJDb21wZXRpdGl2ZSIsIm9mZmVyTGlzdGluZ0lkIjoiNHpXeFFiN20lMkJMd2x3ano5a2tFZUVpRjVwJTJCdXQ3d1BReGxWV1pvRDl1ckZ5SG90cEZTJTJGZmp6SVVhUmZXbnduemRNNUklMkIxR21RNnlDZDNWdlh1OHVPNDFObFlGZkdBdWhqJTJCY0p2OWZTRzExOXZCS1I1TkRDVXRzcFclMkJITiUyQmtnTSUyRlZVU0prRDVVNGMzT0Vha3QwT2ttS3k3YVJ1Qkh4T3ZxS0QyY3l2d0ZxUk90ckklMkZpM0tyTGpFRXJHSVBTUFRkIiwidGF4UHJpY2VUeXBlIjoiZXhjbHVzaXZlIiwiX19jbGFzcyI6ImNvbS5hbWF6b24uYXVkaWJsZWJ1eWluZ29wdGlvbnNzZXJ2aWNlLkNvbnRlbnRQcmljZSJ9LCJidXlhYmlsaXR5IjoiQlVZQUJMRSIsInByb2dyYW1zIjpbIkNPTVBFVElUSVZFIl0sImNsaWVudENvbnRleHQiOnsiY2xpZW50SWQiOiJBbWF6b25Ib21lc3RlYWREUCIsInNlc3Npb25JZCI6IjEzNC00NTYwNjY0LTI3OTM0MDciLCJpc1dhbGxldEVsaWdpYmxlIjpmYWxzZX0sIm9mZmVyVHlwZUlkIjoiQ09NUEVUSVRJVkVfUFJJQ0UiLCJvZmZlclR5cGUiOiJDQVNIIn0=\">\n" + " <input type=\"hidden\" name=\"apCheck\" value=\"1\">\n" + " <input type=\"hidden\" name=\"surfaceType\" value=\"Desktop\">\n" + " <input type=\"hidden\" name=\"HMAC\" value=\"guAoxm+k+tTf13NzG1lkp8WSJqtPasxaxWD4YRgAAAACAAAAAGf3M31yYXcAAAAAPVZHwIAfyME6jYIqz6iU\">\n" + " <input type=\"hidden\" name=\"priceType\" value=\"Competitive\">\n" + " <input type=\"hidden\" name=\"lmsStringId\" value=\"aud_dp_bb_v2_cash_buy_now_button_text\">\n" + " <input type=\"hidden\" name=\"productAsin\" value=\"B0DK9YJ2F9\">\n" + " <input type=\"hidden\" name=\"ASIN\" value=\"B0DK9YJ2F9\">\n" + " <input type=\"hidden\" name=\"sourceAsin\" value=\"B0DK9YJ2F9\">\n" + " <input type=\"hidden\" name=\"isYouPay\" value=\"false\">\n" + " <input type=\"hidden\" name=\"purchaseType\" value=\"cash\">\n" + " <input type=\"hidden\" name=\"offerType\" value=\"CASH\">\n" + " <input type=\"hidden\" name=\"buyingOptionType\" value=\"CASH\">\n" + " <input type=\"hidden\" name=\"HMAC2\" value=\"guAoxm+k+tTf13NzG1lkp8WSJqtPasxaxWD4YRgAAAACAAAAAGf3M31yYXcAAAAAPVZHwIAfyME6jYIqz6iU\">\n" + " <input type=\"hidden\" name=\"audibleASIN\" value=\"B0DK9WBJTR\">\n" + " <input type=\"hidden\" name=\"ctaType\" value=\"POST\">\n" + " <input type=\"hidden\" name=\"buttonType\" value=\"oneclick\">\n" + " <input type=\"hidden\" name=\"isTeenCustomer\" value=\"false\">\n" + " <input type=\"hidden\" name=\"actionCode\" value=\"AMZGCWS0326149093\">\n" + " <input type=\"hidden\" name=\"programs\" value=\"COMPETITIVE\">\n" + " <input type=\"hidden\" name=\"isGooglePlayApp\" value=\"false\">\n" + " <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) {\n" + " P.when('A').execute(function(A) {\n" + " var $ = A.$;\n" + " var buyingOptionType = 'AUDIBLE_CASH';\n" + " A.declarative('aud_buy_box_purchase_action_' + buyingOptionType, 'click', function(event){\n" + " if(event && event.targetTag === \"input\") {\n" + " if ($(document).data('buyButtonPressed') !== 'true') {\n" + " $(document).data('buyButtonPressed', 'true');\n" + " } else {\n" + " event.$event.preventDefault();\n" + " }\n\n" + " \n" + " if ('AUDIBLE_CASH' === 'AUDIBLE_CASH' && buyingOptionType === 'AUDIBLE_CASH') {\n" + " if ('T1' === 'T1' && true) {\n" + " logOneClickMetrics('audible_on_amazon_1_click_CASH::authed_T1');\n" + " logOneClickClickStream(\"authed_T1.\" + \"B0DK9YJ2F9\", 'AUDIBLE_CASH', 'AUDIBLE_CASH.OneClick.authed_T1');\n" + " } else if ('T1' === 'C' && true) {\n" + " logOneClickMetrics('audible_on_amazon_1_click_CASH::authed_C');\n" + " logOneClickClickStream(\"authed_C.\" + \"B0DK9YJ2F9\", 'AUDIBLE_CASH', 'AUDIBLE_CASH.OneClick.authed_C');\n" + " } else if ('T1' === 'T1' && !true) {\n" + " logOneClickMetrics('audible_on_amazon_1_click_CASH::anon_T1');\n" + " logOneClickClickStream(\"anon_T1.\" + \"B0DK9YJ2F9\", 'AUDIBLE_CASH', 'AUDIBLE_CASH.OneClick.anon_T1');\n" + " } else if ('T1' === 'C' && !true) {\n" + " logOneClickMetrics('audible_on_amazon_1_click_CASH::anon_C');\n" + " logOneClickClickStream(\"anon_C.\" + \"B0DK9YJ2F9\", 'AUDIBLE_CASH', 'AUDIBLE_CASH.OneClick.anon_C');\n" + " }\n\n" + " \n" + " if ('false' === 'true') {\n" + " logOneClickMetrics('audible_on_amazon_1_click_CASH::YouPayEnabled');\n" + " logOneClickClickStream(\"YouPayEnabled.\" + \"B0DK9YJ2F9\", 'AUDIBLE_CASH', 'AUDIBLE_CASH.OneClick');\n" + " }\n" + " }\n" + " }\n" + " });\n\n" + " function logOneClickMetrics(metricsName) {\n" + " A.ajax(\"/hz/audible/metrics\", {\n" + " method: 'POST',\n" + " params: {\n" + " 'metrics': metricsName\n" + " }\n" + " });\n" + " }\n\n" + " function logOneClickClickStream(weblabTreatmentAndAsin, buyingOptionType, pageAction) {\n" + " A.ajax(\"/hz/audible/clickstream\", {\n" + " method: 'POST',\n" + " params: {\n" + " 'asin': weblabTreatmentAndAsin,\n" + " 'event-aud-action': \"CONSUMPTION\",\n" + " 'event-aud-type': \"AmazonOneClickPurchase\",\n" + " 'event-aud-subType': buyingOptionType,\n" + " 'page-action': pageAction\n" + " },\n" + " success: function(result){},\n" + " error: function(result){}\n" + " });\n" + " }\n" + " });\n" + "}));</script> </div> </div> <!-- Show shortMessage for ALC -->\n" + " <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\">\n" + " <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>\n" + " <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\">\n" + " </div>\n" + " <style type=\"text/css\">\n" + " /* Remove carat icon from the model aapi:richcontent implementation of additional text*/\n" + " #additionalText > span.a-declarative > a > i {\n" + " display: none;\n" + " }\n\n" + " /* Remove additional padding around pop over modal for terms and conditions from the aapi:richContent implementation */\n" + " #additionalText .a-popover-trigger {\n" + " padding: 0px 0px;\n" + " display: inline;\n" + " }\n" + "</style> </div> </div></div>"; final Pattern pattern = Pattern.compile(regex, Pattern.DOTALL); final Matcher matcher = pattern.matcher(string); if (matcher.find()) { System.out.println("Full match: " + matcher.group(0)); for (int i = 1; i <= matcher.groupCount(); i++) { System.out.println("Group " + i + ": " + matcher.group(i)); } } } }

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 Java, please visit: https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html