# coding=utf8
# the above tag defines encoding for this document and is for Python 2.x compatibility
import re
regex = r"src[ *= *]['\"](.*\.js[^'\"]*)"
test_str = ("<!DOCTYPE html>\n"
"<html xmlns=\"http://www.w3.org/1999/xhtml\" lang=\"es\"><head><script src=\"https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.uk.8Wsso_8ylQo.O/m=auth/exm=plus,plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTNfGdKjky6Lry6QDOZ198k58lZp_A/cb=gapi.loaded_2\" async=\"\"></script><script src=\"https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.uk.8Wsso_8ylQo.O/m=plus/exm=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTNfGdKjky6Lry6QDOZ198k58lZp_A/cb=gapi.loaded_1\" async=\"\"></script>\n"
" <meta content=\"text/html; charset=utf-8\" http-equiv=\"content-type\" />\n\n"
" <title>¡Venta de año nuevo en MacPaw! Consigue CleanMyMac con 50% de descuento.</title>\n\n"
" <meta content=\"Oferta de Año Nuevo: CleanMyMac 2 con 50% de descuento\" property=\"og:title\" />\n"
" <meta content=\"http://macpaw.com/images/products/CleanMyMac_small.png\" property=\"og:image\" />\n"
" <meta content=\"Hagamos del 2014 "El año de la Mac limpia". Compre CleanMyMac con 50% de descuento ahora. Oferta válida hasta el 2 de Enero del 2014.\" property=\"og:description\" />\n"
" <meta content=\"http://macpaw.com/holiday13_es\" property=\"og:url\" />\n\n"
" <meta content=\"CleanMyMac es una solución todo en uno para limpiar de una manera segura tu Mac. ¡Ahora con 50% de descuento!\" name=\"description\" />\n"
" <meta content=\"width=device-width\" name=\"viewport\" />\n\n"
" <script src=\"http://dnn506yrbagrg.cloudfront.net/pages/scripts/0011/1236.js?388910\" async=\"\" type=\"text/javascript\"></script><script async=\"\" src=\"//connect.facebook.net/en_US/fp.js\"></script><script type=\"text/javascript\" async=\"\" src=\"http://mc.yandex.ru/metrika/watch.js\"></script><script src=\"http://edge.quantserve.com/quant.js\" async=\"\" type=\"text/javascript\"></script><script type=\"text/javascript\" async=\"\" src=\"http://stats.g.doubleclick.net/dc.js\"></script><script id=\"twitter-wjs\" src=\"http://platform.twitter.com/widgets.js\"></script><script type=\"text/javascript\" async=\"\" src=\"https://apis.google.com/js/platform.js\" gapi_processed=\"true\"></script><script id=\"facebook-jssdk\" src=\"//connect.facebook.net/es_ES/all.js#xfbml=1\"></script><script src=\"https://apis.google.com/_/scs/apps-static/_/js/k=oz.gapi.uk.8Wsso_8ylQo.O/m=plusone/rt=j/sv=1/d=1/ed=1/am=AQ/rs=AItRSTNfGdKjky6Lry6QDOZ198k58lZp_A/cb=gapi.loaded_0\" async=\"\"></script><script src=\"http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js\"></script>\n"
" <script src=\"/js/jstracker/jstracker.js\" type=\"text/javascript\"></script>\n"
" <script src=\"/js/landings/land176/script.js\" type=\"text/javascript\"></script>\n"
" <link type=\"image/x-icon\" href=\"/images/favicon.png\" rel=\"icon\" />\n"
" <link media=\"screen\" type=\"text/css\" href=\"/css/landings/land176/style_es.css\" rel=\"stylesheet\" />\n"
" <link type=\"text/css\" rel=\"stylesheet\" href=\"http://fonts.googleapis.com/css?family=Open+Sans:400,300,600,700&subset=latin,cyrillic\" />\n"
" <!-- <link href='http://fonts.googleapis.com/css?family=Lobster' rel='stylesheet' type='text/css'> -->\n"
" <!-- Start Visual Website Optimizer Asynchronous Code -->\n"
" <script type=\"text/javascript\">\n"
" var _vwo_code=(function(){\n"
" var account_id=31766,\n"
" settings_tolerance=2000,\n"
" library_tolerance=2500,\n"
" use_existing_jquery=false,\n"
" // DO NOT EDIT BELOW THIS LINE\n"
" f=false,d=document;return{use_existing_jquery:function(){return use_existing_jquery;},library_tolerance:function(){return library_tolerance;},finish:function(){if(!f){f=true;var a=d.getElementById('_vis_opt_path_hides');if(a)a.parentNode.removeChild(a);}},finished:function(){return f;},load:function(a){var b=d.createElement('script');b.src=a;b.type='text/javascript';b.innerText;b.onerror=function(){_vwo_code.finish();};d.getElementsByTagName('head')[0].appendChild(b);},init:function(){settings_timer=setTimeout('_vwo_code.finish()',settings_tolerance);this.load('//dev.visualwebsiteoptimizer.com/j.php?a='+account_id+'&u='+encodeURIComponent(d.URL)+'&r='+Math.random());var a=d.createElement('style'),b='body{opacity:0 !important;filter:alpha(opacity=0) !important;background:none !important;}',h=d.getElementsByTagName('head')[0];a.setAttribute('id','_vis_opt_path_hides');a.setAttribute('type','text/css');if(a.styleSheet)a.styleSheet.cssText=b;else a.appendChild(d.createTextNode(b));h.appendChild(a);return settings_timer;}};}());_vwo_settings_timer=_vwo_code.init();\n"
" </script><script src=\"//dev.visualwebsiteoptimizer.com/j.php?a=31766&u=http%3A%2F%2Fmacpaw.com%2Flandings%2Fland180&r=0.715326549743586\" type=\"text/javascript\"></script>\n"
" <!-- End Visual Website Optimizer Asynchronous Code -->\n"
" <style type=\"text/css\">.fb_hidden{position:absolute;top:-10000px;z-index:10001}.fb_invisible{display:none}.fb_reset{background:none;border:0;border-spacing:0;color:#000;cursor:auto;direction:ltr;font-family:\"lucida grande\", tahoma, verdana, arial, sans-serif;font-size:11px;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal}.fb_reset>div{overflow:hidden}.fb_link img{border:none}\n"
".fb_dialog{background:rgba(82, 82, 82, .7);position:absolute;top:-10000px;z-index:10001}.fb_reset .fb_dialog_legacy{overflow:visible}.fb_dialog_advanced{padding:10px;-moz-border-radius:8px;-webkit-border-radius:8px;border-radius:8px}.fb_dialog_content{background:#fff;color:#333}.fb_dialog_close_icon{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 0 transparent;_background-image:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yL/r/s816eWC-2sl.gif);cursor:pointer;display:block;height:15px;position:absolute;right:18px;top:17px;width:15px}.fb_dialog_mobile .fb_dialog_close_icon{top:5px;left:5px;right:auto}.fb_dialog_padding{background-color:transparent;position:absolute;width:1px;z-index:-1}.fb_dialog_close_icon:hover{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -15px transparent;_background-image:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yL/r/s816eWC-2sl.gif)}.fb_dialog_close_icon:active{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yq/r/IE9JII6Z1Ys.png) no-repeat scroll 0 -30px transparent;_background-image:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yL/r/s816eWC-2sl.gif)}.fb_dialog_loader{background-color:#f2f2f2;border:1px solid #606060;font-size:24px;padding:20px}.fb_dialog_top_left,.fb_dialog_top_right,.fb_dialog_bottom_left,.fb_dialog_bottom_right{height:10px;width:10px;overflow:hidden;position:absolute}.fb_dialog_top_left{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ye/r/8YeTNIlTZjm.png) no-repeat 0 0;left:-10px;top:-10px}.fb_dialog_top_right{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ye/r/8YeTNIlTZjm.png) no-repeat 0 -10px;right:-10px;top:-10px}.fb_dialog_bottom_left{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ye/r/8YeTNIlTZjm.png) no-repeat 0 -20px;bottom:-10px;left:-10px}.fb_dialog_bottom_right{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ye/r/8YeTNIlTZjm.png) no-repeat 0 -30px;right:-10px;bottom:-10px}.fb_dialog_vert_left,.fb_dialog_vert_right,.fb_dialog_horiz_top,.fb_dialog_horiz_bottom{position:absolute;background:#525252;filter:alpha(opacity=70);opacity:.7}.fb_dialog_vert_left,.fb_dialog_vert_right{width:10px;height:100%}.fb_dialog_vert_left{margin-left:-10px}.fb_dialog_vert_right{right:0;margin-right:-10px}.fb_dialog_horiz_top,.fb_dialog_horiz_bottom{width:100%;height:10px}.fb_dialog_horiz_top{margin-top:-10px}.fb_dialog_horiz_bottom{bottom:0;margin-bottom:-10px}.fb_dialog_iframe{line-height:0}.fb_dialog_content .dialog_title{background:#6d84b4;border:1px solid #3b5998;color:#fff;font-size:14px;font-weight:bold;margin:0}.fb_dialog_content .dialog_title>span{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/yd/r/Cou7n-nqK52.gif) no-repeat 5px 50%;float:left;padding:5px 0 7px 26px}body.fb_hidden{-webkit-transform:none;height:100%;margin:0;overflow:visible;position:absolute;top:-10000px;left:0;width:100%}.fb_dialog.fb_dialog_mobile.loading{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/ya/r/3rhSv5V8j3o.gif) white no-repeat 50% 50%;min-height:100%;min-width:100%;overflow:hidden;position:absolute;top:0;z-index:10001}.fb_dialog.fb_dialog_mobile.loading.centered{max-height:590px;min-height:590px;max-width:500px;min-width:500px}#fb-root #fb_dialog_ipad_overlay{background:rgba(0, 0, 0, .45);position:absolute;left:0;top:0;width:100%;min-height:100%;z-index:10000}#fb-root #fb_dialog_ipad_overlay.hidden{display:none}.fb_dialog.fb_dialog_mobile.loading iframe{visibility:hidden}.fb_dialog_content .dialog_header{-webkit-box-shadow:white 0 1px 1px -1px inset;background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#738ABA), to(#2C4987));border-bottom:1px solid;border-color:#1d4088;color:#fff;font:14px Helvetica, sans-serif;font-weight:bold;text-overflow:ellipsis;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0;vertical-align:middle;white-space:nowrap}.fb_dialog_content .dialog_header table{-webkit-font-smoothing:subpixel-antialiased;height:43px;width:100%}.fb_dialog_content .dialog_header td.header_left{font-size:12px;padding-left:5px;vertical-align:middle;width:60px}.fb_dialog_content .dialog_header td.header_right{font-size:12px;padding-right:5px;vertical-align:middle;width:60px}.fb_dialog_content .touchable_button{background:-webkit-gradient(linear, 0% 0%, 0% 100%, from(#4966A6), color-stop(.5, #355492), to(#2A4887));border:1px solid #29447e;-webkit-background-clip:padding-box;-webkit-border-radius:3px;-webkit-box-shadow:rgba(0, 0, 0, .117188) 0 1px 1px inset, rgba(255, 255, 255, .167969) 0 1px 0;display:inline-block;margin-top:3px;max-width:85px;line-height:18px;padding:4px 12px;position:relative}.fb_dialog_content .dialog_header .touchable_button input{border:none;background:none;color:#fff;font:12px Helvetica, sans-serif;font-weight:bold;margin:2px -12px;padding:2px 6px 3px 6px;text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog_content .dialog_header .header_center{color:#fff;font-size:16px;font-weight:bold;line-height:18px;text-align:center;vertical-align:middle}.fb_dialog_content .dialog_content{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/y9/r/jKEcVPZFk-2.gif) no-repeat 50% 50%;border:1px solid #555;border-bottom:0;border-top:0;height:150px}.fb_dialog_content .dialog_footer{background:#f2f2f2;border:1px solid #555;border-top-color:#ccc;height:40px}#fb_dialog_loader_close{float:left}.fb_dialog.fb_dialog_mobile .fb_dialog_close_button{text-shadow:rgba(0, 30, 84, .296875) 0 -1px 0}.fb_dialog.fb_dialog_mobile .fb_dialog_close_icon{visibility:hidden}\n"
".fb_iframe_widget{display:inline-block;position:relative}.fb_iframe_widget span{display:inline-block;position:relative;text-align:justify}.fb_iframe_widget iframe{position:absolute}.fb_iframe_widget_lift{z-index:1}.fb_hide_iframes iframe{position:relative;left:-10000px}.fb_iframe_widget_loader{position:relative;display:inline-block}.fb_iframe_widget_fluid{display:inline}.fb_iframe_widget_fluid span{width:100%}.fb_iframe_widget_loader iframe{min-height:32px;z-index:2;zoom:1}.fb_iframe_widget_loader .FB_Loader{background:url(https://fbstatic-a.akamaihd.net/rsrc.php/v2/y9/r/jKEcVPZFk-2.gif) no-repeat;height:32px;width:32px;margin-left:-16px;position:absolute;left:50%;z-index:4}\n"
".fb_connect_bar_container div,.fb_connect_bar_container span,.fb_connect_bar_container a,.fb_connect_bar_container img,.fb_connect_bar_container strong{background:none;border-spacing:0;border:0;direction:ltr;font-style:normal;font-variant:normal;letter-spacing:normal;line-height:1;margin:0;overflow:visible;padding:0;text-align:left;text-decoration:none;text-indent:0;text-shadow:none;text-transform:none;visibility:visible;white-space:normal;word-spacing:normal;vertical-align:baseline}.fb_connect_bar_container{position:fixed;left:0 !important;right:0 !important;height:42px !important;padding:0 25px !important;margin:0 !important;vertical-align:middle !important;border-bottom:1px solid #333 !important;background:#3b5998 !important;z-index:99999999 !important;overflow:hidden !important}.fb_connect_bar_container_ie6{position:absolute;top:expression(document.compatMode==\"CSS1Compat\"? document.documentElement.scrollTop+\"px\":body.scrollTop+\"px\")}.fb_connect_bar{position:relative;margin:auto;height:100%;width:100%;padding:6px 0 0 0 !important;background:none;color:#fff !important;font-family:\"lucida grande\", tahoma, verdana, arial, sans-serif !important;font-size:13px !important;font-style:normal !important;font-variant:normal !important;font-weight:normal !important;letter-spacing:normal !important;line-height:1 !important;text-decoration:none !important;text-indent:0 !important;text-shadow:none !important;text-transform:none !important;white-space:normal !important;word-spacing:normal !important}.fb_connect_bar a:hover{color:#fff}.fb_connect_bar .fb_profile img{height:30px;width:30px;vertical-align:middle;margin:0 6px 5px 0}.fb_connect_bar div a,.fb_connect_bar span,.fb_connect_bar span a{color:#bac6da;font-size:11px;text-decoration:none}.fb_connect_bar .fb_buttons{float:right;margin-top:7px}\n"
".fbpluginrecommendationsbarleft,.fbpluginrecommendationsbarright{position:fixed !important;bottom:0;z-index:999}.fbpluginrecommendationsbarleft{left:10px}.fbpluginrecommendationsbarright{right:10px}</style><script async=\"true\" type=\"text/javascript\" src=\"http://a.adroll.com/j/roundtrip.js\"></script><script async=\"true\" type=\"text/javascript\" src=\"//d.adroll.com/pixel/ZLAGHNPXNNAIHM3BK6YMNZ/7ZE6SKSR3BDMTG2KK7T3T2?pv=99977324159.53563&cookie=ZLAGHNPXNNAIHM3BK6YMNZ%3A1%7C7ZE6SKSR3BDMTG2KK7T3T2%3A1%7CD2ECO76SFRAKLNT7EYBLAA%3A1&keyw=\"></script><div style=\"width: 1px; height: 1px; display: inline;\"><img width=\"1\" height=\"1\" src=\"http://d.adroll.com/cm/f/out\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"http://d.adroll.com/cm/w/out\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"http://d.adroll.com/cm/x/out\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"https://www.facebook.com/tr?id=473242746031568&cd[segment_eid]=D2ECO76SFRAKLNT7EYBLAA\" style=\"display:none\" alt=\"\" /><img width=\"1\" height=\"1\" src=\"http://www.googleadservices.com/pagead/conversion/1011350631/?label=YJ5bCInJ5gQQ5_if4gM&guid=ON&script=0&ord=6550933685005634\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"http://d.adroll.com/cm/g/out?google_nid=adroll2\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"http://ib.adnxs.com/seg?add=415956&t=2\" />\n"
"<img width=\"1\" height=\"1\" src=\"//googleads.g.doubleclick.net/pagead/viewthroughconversion/1011350631/?value=0&label=1vRCCJns9gQQ5_if4gM&guid=ON&script=0&ord=6550933685005634\" alt=\"\" style=\"border-style:none;\" />\n\n"
"<img width=\"1\" height=\"1\" src=\"http://ib.adnxs.com/seg?add=424744&t=2\" />\n\n"
"<img width=\"1\" height=\"1\" src=\"//googleads.g.doubleclick.net/pagead/viewthroughconversion/1011350631/?value=0&label=8ypaCMnokAUQ5_if4gM&guid=ON&script=0&ord=6550933685005634\" alt=\"\" style=\"border-style:none;\" />\n\n"
"<img width=\"1\" height=\"1\" src=\"http://ib.adnxs.com/seg?add=434273&t=2\" />\n"
"<img width=\"1\" height=\"1\" src=\"https://www.facebook.com/tr?id=473242746031568&cd[segment_eid]=XTSLB5PLRZG7RB5OGMDU36\" style=\"display:none\" alt=\"\" /><img width=\"1\" height=\"1\" src=\"http://www.googleadservices.com/pagead/conversion/1011350631/?label=1vRCCJns9gQQ5_if4gM&guid=ON&script=0&ord=6550933685005634\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"http://d.adroll.com/cm/g/out?google_nid=adroll2\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"http://ib.adnxs.com/seg?add=424744&t=2\" />\n"
"<img width=\"1\" height=\"1\" src=\"https://www.facebook.com/tr?id=473242746031568&cd[segment_eid]=D6UZKTZPDNC6HLHH6V7TGJ\" style=\"display:none\" alt=\"\" /><img width=\"1\" height=\"1\" src=\"http://www.googleadservices.com/pagead/conversion/1011350631/?label=8ypaCMnokAUQ5_if4gM&guid=ON&script=0&ord=6550933685005634\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"http://d.adroll.com/cm/g/out?google_nid=adroll2\" alt=\"\" style=\"border-style:none;\" />\n"
"<img width=\"1\" height=\"1\" src=\"http://ib.adnxs.com/seg?add=434273&t=2\" />\n"
"</div></head>\n"
"<body data-twttr-rendered=\"true\"><div id=\"mf_div\" style=\"display: none;\"></div>\n"
"<link rel=\"stylesheet\" type=\"text/css\" href=\"/css/landingender.css\" />\n\n"
"<script>\n"
"function closeShare(){\n"
" $(\"#tbox\").fadeOut();\n"
" $('.darkness').fadeOut();\n"
" }\n"
"$(document).ready(function(){\n"
" $('.contanter').css({'height':($('.t_content').height()+20) + 'px'});\n"
" setTimeout(\"$('.close_tbox').fadeIn()\",1000);\n"
"});\n"
"</script>\n"
"<div id=\"tbox\">\n"
" <div onclick=\"closeShare()\" class=\"close_tbox\" style=\"display: block;\"></div>\n"
" <input type=\"hidden\" autocomplete=\"off\" value=\"0\" id=\"msg_id\" />\n\n"
" <div class=\"t_header\">\n"
" <a class=\"t_logo\" href=\"http://macpaw.com/\"></a>\n"
" <div></div>\n"
" <br class=\"clear\" />\n"
" </div>\n"
" <div class=\"contanter\" style=\"height: 309px;\">\n"
" <div style=\"display:block;\" class=\"t_content\">\n"
" Oops! This promotion is over.\n"
"<br />\n"
"<div class=\"innerMsg\">\n"
"But we always have something for you!<br />\n"
"This coupon <a target=\"_blank\" href=\"/store?coupon=ACTIONOVER13&utm_source=macpaw-landings&utm_campaign=landing-end\">ACTIONOVER13</a> gives you a 5% discount. Click it or type it on our store. <br /><br />\n\n"
"Join our communities to stay informed about future sales and promotions.<br />\n\n"
" <div style=\"padding-top:17px; width:100px;\" class=\"soc_btn\">\n"
" <!-- like -->\n"
" <div id=\"fb-root\" class=\" fb_reset\"><div style=\"position: absolute; top: -10000px; height: 0px; width: 0px;\"><div><iframe frameborder=\"0\" name=\"fb_xdm_frame_http\" allowtransparency=\"true\" scrolling=\"no\" id=\"fb_xdm_frame_http\" aria-hidden=\"true\" title=\"Facebook Cross Domain Communication Frame\" tabindex=\"-1\" style=\"border: medium none;\" src=\"http://static.ak.facebook.com/connect/xd_arbiter/dgdTycPTSRj.js?version=41#channel=fe6cb88b3f6e86&origin=http%3A%2F%2Fmacpaw.com\"></iframe><iframe frameborder=\"0\" name=\"fb_xdm_frame_https\" allowtransparency=\"true\" scrolling=\"no\" id=\"fb_xdm_frame_https\" aria-hidden=\"true\" title=\"Facebook Cross Domain Communication Frame\" tabindex=\"-1\" style=\"border: medium none;\" src=\"https://s-static.ak.facebook.com/connect/xd_arbiter/dgdTycPTSRj.js?version=41#channel=fe6cb88b3f6e86&origin=http%3A%2F%2Fmacpaw.com\"></iframe></div></div><div style=\"position: absolute; top: -10000px; height: 0px; width: 0px;\"><div></div></div></div><script src=\"https://connect.facebook.net/en_US/all.js#appId=116977231727172&xfbml=1\"></script><fb:like font=\"lucida grande\" show_faces=\"false\" width=\"160px\" layout=\"button_count\" send=\"false\" href=\"http://www.facebook.com/cleanmymac\" class=\" fb_iframe_widget\" fb-xfbml-state=\"rendered\" fb-iframe-plugin-query=\"app_id=116977231727172&font=lucida%20grande&href=http%3A%2F%2Fwww.facebook.com%2Fcleanmymac&layout=button_count&locale=en_US&sdk=joey&send=false&show_faces=false&width=160\"><span style=\"vertical-align: bottom; width: 91px; height: 20px;\"><iframe width=\"160px\" height=\"1000px\" frameborder=\"0\" name=\"f2a36bd3834b66\" allowtransparency=\"true\" scrolling=\"no\" title=\"fb:like Facebook Social Plugin\" style=\"border: medium none; visibility: visible; width: 91px; height: 20px;\" src=\"http://www.facebook.com/plugins/like.php?app_id=116977231727172&channel=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter%2FdgdTycPTSRj.js%3Fversion%3D41%23cb%3Df97eeb04b90dcc%26domain%3Dmacpaw.com%26origin%3Dhttp%253A%252F%252Fmacpaw.com%252Ffe6cb88b3f6e86%26relation%3Dparent.parent&font=lucida%20grande&href=http%3A%2F%2Fwww.facebook.com%2Fcleanmymac&layout=button_count&locale=en_US&sdk=joey&send=false&show_faces=false&width=160\" class=\"\"></iframe></span></fb:like>\n"
" </div>\n"
" </div>\n"
" \n"
" \n"
" <div class=\"soc_btn twitter_btn\">\n"
" <iframe frameborder=\"0\" id=\"twitter-widget-1\" scrolling=\"no\" allowtransparency=\"true\" src=\"http://platform.twitter.com/widgets/follow_button.1400006231.html#_=1400078849783&id=twitter-widget-1&lang=es&screen_name=MacPaw&show_count=false&show_screen_name=true&size=m\" class=\"twitter-follow-button twitter-follow-button\" title=\"Twitter Follow Button\" data-twttr-rendered=\"true\" style=\"width: 124px; height: 20px;\"></iframe>\n"
" <script type=\"text/javascript\" src=\"https://platform.twitter.com/widgets.js\"></script>\n"
" </div>\n\n"
" <div class=\"soc_btn g_btn\">\n"
" <!-- Place this tag in your head or just before your close body tag -->\n"
" <script src=\"https://apis.google.com/js/plusone.js\" type=\"text/javascript\" gapi_processed=\"true\"></script>\n\n"
" <!-- Place this tag where you want the +1 button to render -->\n"
" <div style=\"text-indent: 0px; margin: 0px; padding: 0px; background: none repeat scroll 0% 0% transparent; border-style: none; float: none; line-height: normal; font-size: 1px; vertical-align: baseline; display: inline-block; width: 90px; height: 20px;\" id=\"___plusone_0\"><iframe width=\"100%\" frameborder=\"0\" hspace=\"0\" marginheight=\"0\" marginwidth=\"0\" scrolling=\"no\" style=\"position: static; top: 0px; width: 90px; margin: 0px; border-style: none; left: 0px; visibility: visible; height: 20px;\" tabindex=\"0\" vspace=\"0\" id=\"I0_1400078849686\" name=\"I0_1400078849686\" src=\"https://apis.google.com/_/+1/fastbutton?usegapi=1&size=medium&origin=http%3A%2F%2Fmacpaw.com&url=http%3A%2F%2Fmacpaw.com%2F&gsrc=3p&ic=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.uk.8Wsso_8ylQo.O%2Fm%3D__features__%2Fam%3DAQ%2Frt%3Dj%2Fd%3D1%2Fz%3Dzcms%2Frs%3DAItRSTNfGdKjky6Lry6QDOZ198k58lZp_A#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled%2Cdrefresh%2Cerefresh&id=I0_1400078849686&parent=http%3A%2F%2Fmacpaw.com&pfname=&rpctoken=18198984\" data-gapiattached=\"true\" title=\"+1\"></iframe></div>\n"
" </div>\n"
" <br clear=\"all\" />\n"
" \n"
"<div class=\"innerMsg\">\n"
" You can try CleanMyMac for <a title=\"CleanMyMac free download\" href=\"/download/cleanmymac?utm_source=macpaw-landings&utm_campaign=landing-end\">free here</a>.\n"
"</div>\n\n"
"Thank you for your visit!\n"
"</div>\n"
" </div>\n"
" </div>\n"
" \n"
" \n\n"
"<div class=\"darkness\"></div> <div class=\"container\">\n"
" <div class=\"header_wrap\">\n"
" <div id=\"go_up\"></div>\n"
" <div class=\"snow_storm\">\n"
" <div class=\"header\">\n"
" <a class=\"macpaw_logo\" target=\"_blank\" href=\"/\"></a>\n"
" <div class=\"header_text\">CleanMyMac 2</div>\n"
" <div class=\"top_text\">50%</div><div class=\"off\">de descuento</div>\n"
" <a class=\"go_btn_top\" href=\"#go_down\"></a>\n"
" <div class=\"head_text2\">\n"
" <span>Hagamos del 2014,</span><br />\n"
" \"El año de la Mac limpia\"\n"
" </div>\n"
" <div class=\"header_content\">\n"
" Descarga CleanMyMac 2 y haz que tu Mac esté esté mas limpia y rápida que nunca antes. <br />\n"
" Ahora mismo, aproveche el <a target=\"_blank\" href=\"/es/store/cleanmymac?coupon=frosty14\">50% de descuento de CleanMyMac 2</a> <br />\n"
" con nuestra promoción limitada de Año Nuevo.\n"
" </div>\n"
" <a class=\"top_btn\" target=\"_blank\" href=\"/es/store/cleanmymac?coupon=frosty14\">Comprar ahora con 50% de descuento </a>\n"
" <a class=\"try_it\" target=\"_blank\" href=\"/download/cleanmymac\">Pruébalo gratis</a><br />\n"
" <div class=\"valid\">Válido hasta el 2 de Enero del 2014 (PST)</div>\n"
" </div>\n"
" </div>\n"
" </div>\n"
" <div class=\"content_block\">\n"
" <div id=\"go_down\"></div>\n"
" <div class=\"content_line\">\n"
" <div class=\"content\">\n"
" <div class=\"cmm_icon\">\n"
" <div class=\"clean_cmm\" style=\"background-position: 0px -503px;\"></div>\n"
" </div>\n"
" <div class=\"content_header\">\n"
" CleanMyMac 2: Es más que <br />solo limpiar tu Mac.\n"
" </div>\n"
" <ul>\n"
" <li>Elimina más basura que cualquier otra herramienta</li>\n"
" <li>Desinstala y restablece las aplicaciones</li>\n"
" <li>Encuentra archivos viejos y descuidados que desperdician espacio</li>\n"
" <li>Reduce el tamaño de tu biblioteca de iPhoto</li>\n"
" <li>Interfaz fácil de usar, con drag and drop</li>\n"
" <li>Optimizado para ser increÃblemente rápido</li>\n"
" <li>¡Ahorra horas de trabajo de limpieza!</li>\n"
" </ul>\n\n"
" <a class=\"top_btn\" target=\"_blank\" href=\"/es/store/cleanmymac?coupon=frosty14\">Comprar ahora con 50% de descuento</a>\n"
" <a class=\"try_it\" target=\"_blank\" href=\"/download/cleanmymac\">Pruébalo gratis</a>\n"
" <a class=\"go_btn_bottom\" href=\"#go_up\"></a><br />\n"
" <div class=\"valid\">Válido hasta el 2 de Enero del 2014 (PST)</div>\n"
" <div class=\"top_text\">50%</div><div class=\"off\">de descuento</div>\n"
" </div>\n"
" </div>\n"
" \n"
" </div>\n"
" <div class=\"footer_block\">\n"
" <div class=\"footer_wrap\">\n"
" <div class=\"footer\">\n"
" <div class=\"social\">\n"
" <div id=\"fb-root\"></div>\n"
" <script>(function(d, s, id) {\n"
" var js, fjs = d.getElementsByTagName(s)[0];\n"
" if (d.getElementById(id)) return;\n"
" js = d.createElement(s); js.id = id;\n"
" js.src = \"//connect.facebook.net/es_ES/all.js#xfbml=1\";\n"
" fjs.parentNode.insertBefore(js, fjs);\n"
" }(document, 'script', 'facebook-jssdk'));</script>\n"
" <!-- Place this render call where appropriate -->\n"
" <script type=\"text/javascript\">\n"
" (function() {\n"
" var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;\n"
" po.src = 'https://apis.google.com/js/platform.js';\n"
" var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);\n"
" })();\n"
" </script>\n\n"
" <div class=\"facebook\">\n"
" <div data-type=\"button_count\" data-href=\"http://macpaw.com/holiday13_es\" class=\"fb-share-button fb_iframe_widget\" fb-xfbml-state=\"rendered\" fb-iframe-plugin-query=\"app_id=116977231727172&href=http%3A%2F%2Fmacpaw.com%2Fholiday13_es&locale=en_US&sdk=joey&type=button_count\"><span style=\"vertical-align: bottom; width: 84px; height: 20px;\"><iframe width=\"1000px\" height=\"1000px\" frameborder=\"0\" name=\"f2ef7118481a5ea\" allowtransparency=\"true\" scrolling=\"no\" title=\"fb:share_button Facebook Social Plugin\" style=\"border: medium none; visibility: visible; width: 84px; height: 20px;\" src=\"http://www.facebook.com/plugins/share_button.php?app_id=116977231727172&channel=http%3A%2F%2Fstatic.ak.facebook.com%2Fconnect%2Fxd_arbiter%2FdgdTycPTSRj.js%3Fversion%3D41%23cb%3Df275ad1461062ce%26domain%3Dmacpaw.com%26origin%3Dhttp%253A%252F%252Fmacpaw.com%252Ffe6cb88b3f6e86%26relation%3Dparent.parent&href=http%3A%2F%2Fmacpaw.com%2Fholiday13_es&locale=en_US&sdk=joey&type=button_count\" class=\"\"></iframe></span></div>\n"
" </div>\n\n"
" <div class=\"twitter\">\n"
" <iframe frameborder=\"0\" id=\"twitter-widget-0\" scrolling=\"no\" allowtransparency=\"true\" src=\"http://platform.twitter.com/widgets/tweet_button.1400006231.html#_=1400078849773&count=horizontal&id=twitter-widget-0&lang=es&original_referer=http%3A%2F%2Fmacpaw.com%2Flandings%2Fland180&size=m&text=%C2%A1Venta%20de%20a%C3%B1o%20nuevo%20en%20MacPaw%21%20Consigue%20CleanMyMac%20con%2050%25%20de%20descuento.&url=http%3A%2F%2Fmacpaw.com%2Fholiday13_es\" class=\"twitter-share-button twitter-tweet-button twitter-share-button twitter-count-horizontal\" title=\"Twitter Tweet Button\" data-twttr-rendered=\"true\" style=\"width: 117px; height: 20px;\"></iframe>\n"
" <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>\n"
" </div>\n\n"
" <div class=\"google_plus\">\n"
" <div style=\"text-indent: 0px; margin: 0px; padding: 0px; background: none repeat scroll 0% 0% transparent; border-style: none; float: none; line-height: normal; font-size: 1px; vertical-align: baseline; display: inline-block; width: 112px; height: 20px;\" id=\"___plus_0\"><iframe width=\"100%\" frameborder=\"0\" hspace=\"0\" marginheight=\"0\" marginwidth=\"0\" scrolling=\"no\" style=\"position: static; top: 0px; width: 112px; margin: 0px; border-style: none; left: 0px; visibility: visible; height: 20px;\" tabindex=\"0\" vspace=\"0\" id=\"I1_1400078849698\" name=\"I1_1400078849698\" src=\"https://apis.google.com/_/+1/sharebutton?plusShare=true&usegapi=1&annotation=bubble&action=share&origin=http%3A%2F%2Fmacpaw.com&url=http%3A%2F%2Fmacpaw.com%2Flandings%2Fland180&gsrc=3p&ic=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.uk.8Wsso_8ylQo.O%2Fm%3D__features__%2Fam%3DAQ%2Frt%3Dj%2Fd%3D1%2Fz%3Dzcms%2Frs%3DAItRSTNfGdKjky6Lry6QDOZ198k58lZp_A#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled%2Cdrefresh%2Cerefresh%2Conload&id=I1_1400078849698&parent=http%3A%2F%2Fmacpaw.com&pfname=&rpctoken=22643329\" data-gapiattached=\"true\" title=\"+ПоділитиÑÑ\"></iframe></div>\n"
" </div>\n"
" </div>\n"
" <a href=\"/policy\" class=\"f_link f_link_1\">PolÃtica de privacidad</a>\n"
" <span class=\"f_span\">•</span>\n"
" <a href=\"/eula\" class=\"f_link f_link_2\">Acuerdo de usuario</a>\n"
" <span class=\"f_span\">•</span>\n"
" <a href=\"/refund-policy\" class=\"f_link f_link_3\">PolÃtica de reembolso</a>\n"
" <span class=\"f_span\">•</span>\n"
" <a href=\"/support/cleanmymac/knowledgebase/how-to-uninstall-cleanmymac-2\" class=\"f_link f_link_4\">Desinstalar</a>\n"
" <span class=\"copyright\">Copyright © 2014 MacPaw Inc.</span>\n"
" </div>\n"
" </div>\n"
" </div>\n"
" </div>\n"
" \n\n"
" <!-- Google Code for Landing no download Remarketing List -->\n"
"<script type=\"text/javascript\">\n"
"/* <![CDATA[ */\n"
"var google_conversion_id = 1035919951;\n"
"var google_conversion_language = \"en\";\n"
"var google_conversion_format = \"3\";\n"
"var google_conversion_color = \"666666\";\n"
"var google_conversion_label = \"fMP6CJ3MlgIQz8T77QM\";\n"
"var google_conversion_value = 0;\n"
"/* ]]> */\n"
"</script>\n"
"<script src=\"http://www.googleadservices.com/pagead/conversion.js\" type=\"text/javascript\">\n"
"</script><img width=\"1\" height=\"1\" border=\"0\" src=\"http://www.googleadservices.com/pagead/conversion/1035919951/?random=1400078849392&cv=7&fst=1400078849392&num=1&fmt=3&value=0&label=fMP6CJ3MlgIQz8T77QM&bg=666666&hl=en&guid=ON&u_h=1024&u_w=1366&u_ah=1000&u_aw=1301&u_cd=16&u_his=5&u_tz=180&u_java=true&u_nplug=6&u_nmime=81&frm=0&url=http%3A//macpaw.com/landings/land180\" alt=\"\" />\n"
"<noscript>\n"
"<div style=\"display:inline;\">\n"
"<img height=\"1\" width=\"1\" style=\"border-style:none;\" alt=\"\" src=\"http://www.googleadservices.com/pagead/conversion/1035919951/?label=fMP6CJ3MlgIQz8T77QM&amp;guid=ON&amp;script=0\"/>\n"
"</div>\n"
"</noscript> \n"
"<!-- Google Analytics Social Button Tracking -->\n\n"
"<!--\n"
"<script type=\"text/javascript\">\n"
"var _gaq = _gaq || [];\n"
"_gaq.push(['_setAccount', 'UA-6417209-1']);\n"
"_gaq.push([ '_addIgnoredRef', 'macpaw.com' ]);\n"
"_gaq.push(['_setAllowLinker', true]);\n"
"_gaq.push(['_setSiteSpeedSampleRate', 10]);\n\n\n\n\n"
"_gaq.push(['_trackPageview']);\n\n"
"(function() {\n"
"var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n"
" ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';\n"
"var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n"
"})();\n"
"</script>\n"
"-->\n\n"
"<script type=\"text/javascript\">\n"
" var _gaq = _gaq || [];\n"
" _gaq.push(['_setAccount', 'UA-6417209-1']);\n"
" _gaq.push([ '_addIgnoredRef', 'macpaw.com' ]);\n"
" _gaq.push(['_setAllowLinker', true]);\n"
" _gaq.push(['_setSiteSpeedSampleRate', 10]);\n"
" _gaq.push(['_trackPageview']);\n\n"
" \n"
" (function() {\n"
" var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n"
" ga.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'stats.g.doubleclick.net/dc.js';\n"
" var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);\n"
" })();\n"
" window.onload = function() {\n"
" if(_gaq.I==undefined){\n"
" _gaq.push(['_trackEvent', 'tracking_script', 'loaded', 'ga.js', ,true]);\n"
" ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;\n"
" ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';\n"
" s = document.getElementsByTagName('script')[0];\n"
" gaScript = s.parentNode.insertBefore(ga, s);\n"
" } else {\n"
" _gaq.push(['_trackEvent', 'tracking_script', 'loaded', 'dc.js', ,true]);\n"
" }\n"
" };\n"
"</script>\n\n"
"<script type=\"text/javascript\">\n"
"setTimeout(function(){var a=document.createElement(\"script\");\n"
"var b=document.getElementsByTagName('script')[0];\n"
"a.src=document.location.protocol+\"//dnn506yrbagrg.cloudfront.net/pages/scripts/0011/1236.js?\"+Math.floor(new Date().getTime()/3600000);\n"
"a.async=true;a.type=\"text/javascript\";b.parentNode.insertBefore(a,b)}, 1);\n"
"</script>\n\n"
"<!-- Start Quantcast Tag -->\n"
"<script type=\"text/javascript\">\n"
" var _qevents = _qevents || [];\n\n"
" (function() {\n"
" var elem = document.createElement('script');\n"
" elem.src = (document.location.protocol == \"https:\" ? \"https://secure\" : \"http://edge\") + \".quantserve.com/quant.js\";\n"
" elem.async = true;\n"
" elem.type = \"text/javascript\";\n"
" var scpt = document.getElementsByTagName('script')[0];\n"
" scpt.parentNode.insertBefore(elem, scpt);\n"
" })();\n\n"
" _qevents.push(\n"
" {qacct:\"p-6Qr0GsdXhZnmw\",labels:\"_fp.event.Landing Page\"}\n"
" );\n"
"</script>\n"
"<noscript>\n"
" <img src=\"//pixel.quantserve.com/pixel/p-6Qr0GsdXhZnmw.gif?labels=_fp.event.Landing+Page\" style=\"display: none;\" border=\"0\" height=\"1\" width=\"1\" alt=\"Quantcast\"/>\n"
"</noscript>\n"
"<!-- End Quantcast tag -->\n\n"
"<!--AdRoll-->\n"
"<script type=\"text/javascript\">\n"
"adroll_adv_id = \"ZLAGHNPXNNAIHM3BK6YMNZ\";\n"
"adroll_pix_id = \"7ZE6SKSR3BDMTG2KK7T3T2\";\n"
"(function () {\n"
"var oldonload = window.onload;\n"
"window.onload = function(){\n"
" __adroll_loaded=true;\n"
" var scr = document.createElement(\"script\");\n"
" var host = ((\"https:\" == document.location.protocol) ? \"https://s.adroll.com\" : \"http://a.adroll.com\");\n"
" scr.setAttribute('async', 'true');\n"
" scr.type = \"text/javascript\";\n"
" scr.src = host + \"/j/roundtrip.js\";\n"
" ((document.getElementsByTagName('head') || [null])[0] ||\n"
" document.getElementsByTagName('script')[0].parentNode).appendChild(scr);\n"
" if(oldonload){oldonload()}};\n"
"}());\n"
"</script>\n"
"<!--/AdRoll-->\n\n"
"<!-- Yandex.Metrika counter -->\n"
"<script type=\"text/javascript\">\n"
" (function (d, w, c) {\n"
" (w[c] = w[c] || []).push(function() {\n"
" try {\n"
" w.yaCounter12883906 = new Ya.Metrika({id:12883906, enableAll: true, webvisor:true});\n"
" } catch(e) { }\n"
" });\n\n"
" var n = d.getElementsByTagName(\"script\")[0],\n"
" s = d.createElement(\"script\"),\n"
" f = function () { n.parentNode.insertBefore(s, n); };\n"
" s.type = \"text/javascript\";\n"
" s.async = true;\n"
" s.src = (d.location.protocol == \"https:\" ? \"https:\" : \"http:\") + \"//mc.yandex.ru/metrika/watch.js\";\n\n"
" if (w.opera == \"[object Opera]\") {\n"
" d.addEventListener(\"DOMContentLoaded\", f);\n"
" } else { f(); }\n"
" })(document, window, \"yandex_metrika_callbacks\");\n"
"</script>\n"
"<noscript><div><img src=\"//mc.yandex.ru/watch/12883906\" style=\"position:absolute; left:-9999px;\" alt=\"\" /></div></noscript>\n"
"<!-- /Yandex.Metrika counter -->\n\n"
"<!--Facebook Conversion Tracking-->\n"
"<script type=\"text/javascript\">\n"
" var fb_param = {};\n"
" fb_param.pixel_id = '6009269206528';\n"
" fb_param.value = '0.00';\n"
" fb_param.currency = 'USD';\n"
" (function(){\n"
" var fpw = document.createElement('script');\n"
" fpw.async = true;\n"
" fpw.src = '//connect.facebook.net/en_US/fp.js';\n"
" var ref = document.getElementsByTagName('script')[0];\n"
" ref.parentNode.insertBefore(fpw, ref);\n"
" })();\n"
"</script>\n\n"
"<!-- MediaForge pixel -->\n"
" <script src=\"http://tags.mediaforge.com/js/1230%05/?prodID=CleanMyMac2\" type=\"text/javascript\"></script>\n"
"<!-- End MediaForge pixel -->\n\n"
"<!-- TheTradeDesk pixel -->\n"
" <img width=\"1\" height=\"1\" src=\"//insight.adsrvr.org/track/evnt/?adv=ow8715z&ct=0:zu19wc2j&fmt=3\" alt=\"\" style=\"border-style:none;\" />\n"
"<!-- End TheTradeDesk pixel -->\n\n"
"<noscript><img height=\"1\" width=\"1\" alt=\"\" style=\"display:none\" src=\"https://www.facebook.com/offsite_event.php?id=6009269206528&amp;value=0&amp;currency=USD\" /></noscript>\n"
"<!--/Facebook Conversion Tracking-->\n"
"<iframe name=\"oauth2relay833474516\" id=\"oauth2relay833474516\" src=\"https://accounts.google.com/o/oauth2/postmessageRelay?parent=http%3A%2F%2Fmacpaw.com#rpctoken=1519867317&forcesecure=1\" style=\"width: 1px; height: 1px; position: absolute; top: -100px;\" tabindex=\"-1\"></iframe></body><canvas id=\"fxdriver-screenshot-canvas\" style=\"display: none;\" width=\"1267\" height=\"1698\"></canvas></html>\n")
matches = re.finditer(regex, test_str, re.IGNORECASE)
for matchNum, match in enumerate(matches, start=1):
print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group()))
for groupNum in range(0, len(match.groups())):
groupNum = groupNum + 1
print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum)))
# Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.
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 Python, please visit: https://docs.python.org/3/library/re.html