import Foundation
let pattern = #"var pageId = "(.+)";|ii : '(.+)'|document\.forms\['Form_(.{32})'\]"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = ##"""
<!DOCTYPE html><html class="no-js" lang="pt-BR"><head><meta name="google-site-verification" content="Aer1mRdKGlPwaG1HbYhJjI01RTO5rkAkcB2_89tPrd8"><script type="text/javascript" src="/ruxitagentjs_ICA27QSVfjqrux_10185200219132536.js" data-dtconfig="rid=RID_40651790|rpid=-886407294|domain=b3.com.br|reportUrl=/rb_8370fec7-c82e-413f-a2c6-777046ed9811|app=4d5d869272338700|featureHash=ICA27QSVfjqrux|msl=153600|srsr=2000|rdnt=1|uxrgce=1|bp=3|srms=1,1,,,|uxrgcm=100,25,300,3;100,25,300,3|dpvc=1|lastModification=1583996740444|dtVersion=10185200219132536|tp=500,50,0,1|uxdcw=1500|agentUri=/ruxitagentjs_ICA27QSVfjqrux_10185200219132536.js"></script><link type="text/css" rel="stylesheet" href="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/css/search.css"><!--[if lt IE 9]><script type="text/javascript" src="lumis/tool/html5shiv/html5shiv.js"></script><![endif]--><script type="text/javascript">//<![CDATA[
var g_LumisLocale = "pt_BR"; var g_LumisChannelId = "8A6882184D917D0A014D91840890026E"; var g_LumisRoot_href = "../"; var g_LumisRootChannelId = "00000000F00000000000000000000001"; var g_LumisPageId = "8A488ABF54C51FC90154C55B6BAB0F1B"; var g_LumisPageConfig = new Object();g_LumisPageConfig.name = "index"; g_LumisPageConfig.type = 0; g_LumisPageConfig.isTemplate = false; g_LumisPageConfig.hasParentTemplate = false; var g_LumisLayoutFile = true; var g_LumisDisplayMode = 0; var g_LumisViewMode = 0; var g_LumisAdminMode = 2; var g_LumisPersonalizationMode = 5; var g_LumisInContextEditMode = 3; var g_LumisAutoAdminMode = 4;var g_LumisChannelConfig = new Object(); g_LumisChannelConfig.name = "Home";var g_LumisIsHtmlCache=true;var g_LumisRootPath='/';var g_LumisLoadingHtmlMessage="<img style=\"vertical-align: middle;\" alt=\"Carregando\" src=\"../lumis/portal/client/images/Loading.gif\">";
//]]>
</script><script type="text/javascript" charset="UTF-8" src="../lumis/portal/client/script/LumisPortal.js"></script>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Com o mercado, para o futuro | B3</title>
<link rel="stylesheet" href="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/css/foundation.css">
<link rel="stylesheet" href="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/css/expanding.search.bar.css">
<link rel="stylesheet" href="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/css/jquery-ui.css">
<link rel="stylesheet" href="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/css/swiper.css">
<link rel="stylesheet" href="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/css/jquery.bxslider.css">
<link rel="shortcut icon" href="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/img/favicon.ico">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Montserrat">
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/vendor/modernizr.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/vendor/jquery.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/bvmf.js"></script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="generator" content="Lumis Portal"><meta name="description" content="A B3 é uma das principais empresas de infraestrutura de mercado financeiro do mundo e uma das maiores em valor de mercado, entre as líderes globais do setor de bolsas. Conecta, desenvolve e viabiliza o mercado financeiro e de capitais e, junto com os clientes e a sociedade, potencializa o crescimento do Brasil."><meta name="keywords" content="BM&FBOVESPA, Bolsa, Brasil, Bolsa de Valores, mercados, Segmento BOVESPA, Segmento BM&F, Derivativos, Bolsa Brasileira, ações, mercado futuro, mercado de ações, bovespa, ibovespa"><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Com o mercado, para o futuro | B3"><meta name="og:description" content="A B3 é uma das principais empresas de infraestrutura de mercado financeiro do mundo e uma das maiores em valor de mercado, entre as líderes globais do setor de bolsas. Conecta, desenvolve e viabiliza o mercado financeiro e de capitais e, junto com os clientes e a sociedade, potencializa o crescimento do Brasil."><meta name="twitter:description" content="A B3 é uma das principais empresas de infraestrutura de mercado financeiro do mundo e uma das maiores em valor de mercado, entre as líderes globais do setor de bolsas. Conecta, desenvolve e viabiliza o mercado financeiro e de capitais e, junto com os clientes e a sociedade, potencializa o crescimento do Brasil."><meta name="og:title" content="Com o mercado, para o futuro | B3"><link rel="canonical" href="http://www.b3.com.br/pt_br/"><script type="text/javascript" charset="UTF-8" src="../lumis/doui/client/script/LumisDouiErrorSummary.js"></script>
<script type="text/javascript">window.LumisBWKeys = window.LumisBWKeys || {};window.LumisBWKeys['LumisDouiErrorSummary.js'] = true;</script>
<script type="text/javascript" charset="UTF-8" src="../lumis/doui/client/script/LumisDoui.js"></script>
<script type="text/javascript" charset="UTF-8" src="../lumis/doui/control/validator/client/script/LumisDouiValidator.js"></script>
<script type="text/javascript">window.LumisBWKeys = window.LumisBWKeys || {};window.LumisBWKeys['LumisDouiValidator.js'] = true;window.LumisBWKeys[' css/search.css'] = true;window.LumisBWKeys['LumisDoui.js'] = true;</script>
<script type="text/javascript" src="../lumis/tool/jquery/jquery.js"></script>
<script type="text/javascript">window.LumisBWKeys = window.LumisBWKeys || {};window.LumisBWKeys['jquery.js'] = true;</script><script type="text/javascript">_linkedin_partner_id = "540513"; window._linkedin_data_partner_ids = window._linkedin_data_partner_ids || []; window._linkedin_data_partner_ids.push(_linkedin_partner_id);</script><script type="text/javascript">(function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script><noscript></noscript></head><body><img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=540513&fmt=gif">
<!-- Google Tag Manager --><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-NXGFHZ4');</script><noscript><iframe height="0" width="0" style="display:none;visibility:hidden" src="https://www.googletagmanager.com/ns.html?id=GTM-NXGFHZ4"></iframe></noscript><!-- End Google Tag Manager -->
<p><script id="pageCalcScript">
//PAGE ID - IDENTIFICADOR UNICO
var pageId = "2C9FBE63638E25810163936E4D032B71";
//PAGE ID - IDENTIFICADOR UNICO
var scrI = document.createElement('script');
scrI.text = "(function(i){var ts=document.createElement('script');ts.type='text/javascript';ts.async=!0;ts.src=('https:'==document.location.protocol?'https://':'http://')+'tags.t.tailtarget.com/t3m.js?i='+i;var s=document.getElementsByTagName('script')[0];s.parentNode.insertBefore(ts,s)})('TT-12801-5/CT-1038')";
var scrII = document.createElement('script');
scrII.setAttribute("async", "");
scrII.setAttribute('src','https://www.googletagmanager.com/gtag/js?id=AW-832571617');
var scrIII = document.createElement('script');
scrIII.text = "window.dataLayer=window.dataLayer||[];function gtag(){dataLayer.push(arguments)}gtag('js',new Date());gtag('config','AW-832571617')";
if(g_LumisPageId === pageId){
document.head.appendChild(scrI);
document.head.appendChild(scrII);
document.head.appendChild(scrIII);
}
document.getElementById('pageCalcScript').remove();
</script></p>
<form style="display:none" accept-charset="UTF-8" id="LumisPortalForm" method="post" action="../main.jsp?lumPageId=8A488ABF54C51FC90154C55B6BAB0F1B"><input name="lumNewParams" type="hidden"><input name="lumPrinting" type="hidden"><input name="lumToggleModeOriginUrl" type="hidden"><input name="lumSafeRenderMode" type="hidden"><input name="lumPageOriginalUrl" type="hidden" value="main.jsp?lumPageId=8A488ABF54C51FC90154C55B6BAB0F1B"><input name="lumS" type="hidden" value=""><input name="lumSI" type="hidden" value=""><input name="lumI" type="hidden" value=""><input name="lumII" type="hidden" value=""><input name="lumReplIntfState" type="hidden" value=""><input name="lumPrevParams" type="hidden" value=""><input name="lumA" type="hidden" value=""><input name="lumDataPreviewMode" type="hidden" value=""><input name="lumClientMessage" type="hidden" value=""></form><script type="text/javascript">if(LumisPortal)LumisPortal.initLumisPortalForm("<allParameters><parameters><p n=\"lumFromPCM\">8AE490CA6461AA0A016465D7B33078D8<\/p><p n=\"lumChannelId\">8A6882184D917D0A014D91840890026E<\/p><\/parameters><\/allParameters>");</script><form style="display:none" accept-charset="UTF-8" id="LumisPortalRenderInterfaceForm" method="post" action="../lumis/portal/controller/html/ServiceInterfaceInstanceControllerHtml.jsp?lumPageId=8A488ABF54C51FC90154C55B6BAB0F1B&lumPageCacheId=8AE490CA6461AA0A016465D7B33078D8"></form>
<div id="alerta-b3"><div class="alert-b3-box" style="display:none;">
<div class="row">
<div class="large-2 columns">
<div class="logo-alert">
<p class="text-center"><img src="../data/files/C3/03/26/EB/AAC9E51021E9C9E5790D8AA8/logob3-disclaimer.png"></p>
</div>
</div>
<div class="large-9 columns"><span class="small">A B3 foi criada em março de 2017 como fruto da combinação entre a B3&FBOVESPA e a Cetip, dando origem a uma companhia de infraestrutura de mercado financeiro de classe mundial e consolidando a atuação da B3&FBOVESPA na negociação e pós-negociação de produtos listados e da Cetip no registro e depósito de operações de balcão e de financiamento.</span></div>
<div class="large-1 columns">
<div class="bot-alert"><a class="button-b3 expand" onclick="Fechar()" href="javascript:;">OK</a></div>
</div>
</div>
</div>
</div>
<div class="contain-to-grid fixed"><div>
<div class="column-search">
<div class="row">
<div id="sb-search" class="sb-search">
<form method="get" autocomplete="off" action="../pt_br/busca/">
<input class="sb-search-input ui-autocomplete-input" type="text" value="" name="query" id="query" autocomplete="off" placeholder="Digite o que deseja: nome de empresa; código de ativo; outro termo qualquer."><input class="sb-search-submit" type="submit" value=""><span class="sb-icon-search"></span>
</form>
</div>
</div>
<div id="modal-search" class="reveal-modal-search" data-reveal="" aria-labelledby="modalTitle" aria-hidden="true" role="dialog"></div>
</div><script type="text/javascript">
$(document).ready(function(){
$("span.sb-icon-search").click(function(){
if($( "#search" ).val() !== ''){
$("#search" ).val("");
$( "#query" ).val("");
}
});
$("#query").autocomplete(
{
source: requestAutocomplete,
minLength: 3,
select: function(event, ui)
{
if(ui.item.url)
{
window.location.href = ui.item.url;
}
else
{
$( "#query" ).val(ui.item.value + " ");
}
return false;
},
delay: 100,
html: true
});
// Get the data containing render functions
var searchAutocomplete = $("#query").autocomplete().data('ui-autocomplete');
searchAutocomplete._renderItem =
function (ul, item) {
var li = $("<li></li>");
if(item.isFirst)
{
li.addClass("lum-first");
}
if(item.isLast)
{
li.addClass("lum-last");
}
if(item.isListSeparator)
{
li.addClass("lum-service-search-lists-separator");
}
if(item.disabled)
{
li.addClass("lum-service-search-autocomplete-item-disabled");
li.attr("aria-disabled", "true");
li.append(item.label);
}
else
{
li.addClass("lum-service-search-autocomplete-item");
var link = $("<a></a>").append(item.label);
if(item.url)
{
li.addClass("lum-service-search-autocomplete-item-quicksearch");
link.attr("href", item.url);
var article = $("<article></article>").addClass("lum-content");
var header = $("<header></header>").addClass("lum-content-header");
if(( imgUrl = item.label.searchHit.document.lum_standard.introductionImageHref) !== undefined)
header.append($("<div></div>").addClass("lum-content-introduction-image").append($("<img>").attr("src", imgUrl)));
else if(item.label.searchHit.document.br_com_bvmf_internet_service_bvmfnoticias_noticias_sourcefield !== undefined)
if(item.label.searchHit.document.br_com_bvmf_internet_service_bvmfnoticias_noticias_sourcefield.conteudo !== undefined)
if((imgUrl = findFirstImg(item.label.searchHit.document.br_com_bvmf_internet_service_bvmfnoticias_noticias_sourcefield.conteudo)) !== null)
if(imgUrl.match("br/com/bvmf/internet/theme/bvmf-internet/img") === null)
header.append($("<div></div>").addClass("lum-content-introduction-image").append($("<img>").attr("src", imgUrl)));
header.append($("<h1></h1>").append(item.label.searchHit.document.lum_standard.title).addClass("lum-content-title"));
header.append($("<div></div>").append(item.label.searchHit.highlights[""][0]).addClass("lum-content-highlight"));
article.append(header);
link.append(article);
}
li.append(link);
}
return li.appendTo(ul);
};
// Add lumis classes to the rendered menu ul
searchAutocomplete._renderMenu =
function(ul, items) {
var self = this;
ul.addClass("lum-service-search-autocomplete-list");
$.each(items, function(index, item)
{
self._renderItemData(ul, item);
});
};
});
function findFirstImg(content) {
var documentContent = document.createElement('div');
documentContent.innerHTML = content.split('src="lumis/portal/file/').join('src="/lumis/portal/file/');
if(documentContent.getElementsByTagName("img").length > 0)
return documentContent.getElementsByTagName("img")[0].src;
return null;
}
function requestAutocomplete(query, response)
{
$.ajax({
url: g_LumisRootPath + "lumis/service/search/rest/autocomplete",
method: "GET",
data: {
q : query.term,
ii : '8A488ABF54C51FC90154C55B6BCE0F22'
},
dataType: 'json',
success: function (data){
data = structurizeAutocomplete(data);
response(data);
}
});
}
function structurizeAutocomplete(data)
{
var newHits = new Array();
if(data.hints.length > 0)
{
for(var i = 0; i < data.hints.length; i++)
{
newHits.push({
"value" : data.hints[i],
"label" : data.hints[i]
});
}
newHits[0].isFirst = true;
newHits[newHits.length-1].isLast = true;
}
if(data.quickSearch.length > 0)
{
if(data.hints.length > 0)
{
newHits[newHits.length-1].isListSeparator = true;
}
for(var i = 0; i < data.quickSearch.length; i++)
{
var href = data.quickSearch[i].url;
newHits.push({
"value" : data.quickSearch[i].searchHit.document.lum_standard.title,
"label" : data.quickSearch[i],
"url" : href
});
}
newHits[data.hints.length].isFirst = true;
newHits[newHits.length-1].isLast = true;
}
return newHits;
}
</script>
</div><div><div class="lumis-service-locale lumis-service-locale-localePicker lum-non-administration-area lum-interface-type-standard"><form id="Form_2C9E0371634F920201634F9CE89744A6" method="post" accept-charset="UTF-8" style="margin:0px;" action="../main.jsp?lumPageId=8A488ABF54C51FC90154C55B6BAB0F1B&lumA=1&lumII=2C9E0371634F920201634F9CE89744A6"><input type="hidden" name="doui_processActionId"><input type="hidden" name="doui_renderAction"><input type="hidden" name="doui_renderControlId"><input type="hidden" name="doui_fromForm" value="Form_2C9E0371634F920201634F9CE89744A6"><input type="hidden" name="doui_storedValues" value=""><input type="hidden" name="lumII" value="2C9E0371634F920201634F9CE89744A6"><input type="hidden" name="lumReplIntfCommands" value=""><input type="hidden" name="lumReplIntfParams" value=""><section><div class="lum-content"><div class="lum-content-body"><div class="idioma-coluna"><div class="row"><div id="idioma_selector" class="idioma-drop"><div class="idioma-seta"></div><label for="toggle" id="botao-idioma" class="idioma-flag idioma-pt" title="Selecione o idioma"><span class="flag"></span></label><ul class="idioma-list"><li class="idioma idioma-en" onclick="document.forms['Form_2C9E0371634F920201634F9CE89744A6'].elements['doui_processActionId'].value='setLocaleProcessAction';document.forms['Form_2C9E0371634F920201634F9CE89744A6'].elements['locale'].value='en_US';LumisPortal.onSubmitForm('Form_2C9E0371634F920201634F9CE89744A6','2C9E0371634F920201634F9CE89744A6', null, true);return false;" title="English" href="../main.jsp?lumPageId=8A488ABF54C51FC90154C55B6BAB0F1B&lumA=1&lumII=2C9E0371634F920201634F9CE89744A6&locale=en_US&doui_processActionId=setLocaleProcessAction"><span class="flag"></span></li><li class="idioma idioma-es" onclick="document.forms['Form_2C9E0371634F920201634F9CE89744A6'].elements['doui_processActionId'].value='setLocaleProcessAction';document.forms['Form_2C9E0371634F920201634F9CE89744A6'].elements['locale'].value='es';LumisPortal.onSubmitForm('Form_2C9E0371634F920201634F9CE89744A6','2C9E0371634F920201634F9CE89744A6', null, true);return false;" title="Español" href="../main.jsp?lumPageId=8A488ABF54C51FC90154C55B6BAB0F1B&lumA=1&lumII=2C9E0371634F920201634F9CE89744A6&locale=es&doui_processActionId=setLocaleProcessAction"><span class="flag"></span></li></ul></div></div></div><input type="hidden" name="locale"><input type="hidden" name="currentUrl"><input type="hidden" name="bvmf-locales"><script type="text/javascript">
$(document).ready(function(){
document.forms['Form_2C9E0371634F920201634F9CE89744A6'].elements['currentUrl'].value=window.location.href;
});
</script></div></div></section></form><input type="hidden" id="es2C9E0371634F920201634F9CE89744A6_Form_2C9E0371634F920201634F9CE89744A6_lum_errorSummary"></div></div><div><script>
$( document ).ready(function() {
$.get('/' + g_LumisLocale.toLocaleLowerCase() + '/blocos', function(data) {
$(".contain-to-grid.fixed").append(data);
});
});
</script></div></div>
<div class="cotacoes-home">
<script id="cotacoesConsume">
$(document).ready(function() {
$.ajax({
url: "http://cotacao.b3.com.br/mds/api/v1/instrumentQuotation/ibov"
}).then(function(data) {
var pct = parseFloat(data.Trad[0].scty.SctyQtn.prcFlcn).toFixed(2);
$('#ibovTitle').text(data.Trad[0].scty.desc);
$('#ibovPct').text((((pct>0)?"+"+pct:pct)+'%')).addClass((pct>0)?'valor alta':'valor baixa');
if('pt-br' !== 'en-us')
$('#ibovPct').text($('#ibovPct').text().replace('.',','));
if(data.Trad[0].scty.SctyQtn.curPrc !== undefined)
$('#ibovPts').text(parseInt(data.Trad[0].scty.SctyQtn.curPrc).toLocaleString('pt-br') + $('#ibovPts').text());
else
$('#ibovPts').text(parseInt(0) + $('#ibovPts').text());
});
$.ajax({
url: "https://www2.cetip.com.br/ConsultarTaxaDi/ConsultarTaxaDICetip.aspx"
}).then(function(respomse) {
var data = JSON.parse(respomse);
var taxaData = new Date(Date.parse(data.dataTaxa.replace(/(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3")));
var indiceData = new Date(Date.parse(data.dataIndice.replace(/(\d{2})\/(\d{2})\/(\d{4})/, "$2/$1/$3")));
$('#taxaPct').text(data.taxa+'%');
if('pt-br' === 'en-us')
$('#taxaPct').text($('#taxaPct').text().replace(',','.'));
$('#taxaData').text(taxaData.toLocaleString('pt-br',{ day: "2-digit", month: "2-digit"}))
$('#indicePts').text(data.indice);
if('pt-br' === 'en-us')
$('#indicePts').text(data.indice.replace(',','*').split('.').join(',').replace('*','.'));
$('#indiceData').text(indiceData.toLocaleString('pt-br',{ day: "2-digit", month: "2-digit"}))
});
$('#cotacoesConsume').remove();
});
</script>
<div class="row">
<div class="large-9 medium-7 columns">
<div class="row">
<div class="large-3 medium-3 columns">
<div class="cards">
<h2 id="ibovTitle"> </h2>
<div id="ibovPct"> </div>
<div class="data" id="ibovPts">pts</div>
<div class="divider show-for-small"><!--Divider--></div>
</div>
</div>
<div class="large-3 medium-3 columns">
<div class="cards">
<h2 id="taxaTitle">Taxa DI</h2>
<div class="valor" id="taxaPct"> </div>
<div class="data" id="taxaData"> </div>
<div class="divider show-for-small"><!--Divider--></div>
</div>
</div>
<div class="large-3 medium-3 columns end">
<div class="cards">
<h2 id="indiceTitle">Índice DI</h2>
<div class="valor" id="indicePts"> </div>
<div class="data" id="indiceData"> </div>
<div class="divider show-for-small"><!--Divider--></div>
</div>
</div>
</div>
</div>
<div class="large-3 medium-5 columns"><a class="button right expand" href="http://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/cotacoes/">Acompanhe as Cotações</a></div>
</div>
</div>
<div>
<div class="swiper-container hide-for-small">
<div class="swiper-wrapper">
<div class="swiper-slide">
<div class="row">
<div class="large-6 medium-6 columns end">
<div class="textos-banner sombra">
<h2>Priner, seja bem-vinda à B3!</h2>
<p>A líder do segmento serviços e manutenção industrial abre capital na bolsa do Brasil</p>
<p>
<a role="button" class="button" target="_blank" href="http://www.b3.com.br/pt_br/noticias/abertura-de-capital-8AA8D0CD701B6104017053BDEC9437D7.htm">Saiba mais</a>
</p>
</div>
</div>
</div>
<div class="imagem-banner" style="background-image:url('../data/files/CB/B4/33/6E/0A350710F4D5B107AC094EA8/BannerSiteB3-Priner.jpg');"></div>
<div class="imagem-banner" style="background-image:url('../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/img/banner1.jpg');"></div>
</div>
<div class="swiper-slide">
<div class="row">
<div class="large-6 medium-6 columns end">
<div class="textos-banner sombra">
<h2>Moura Dubeux, seja bem-vinda à B3</h2>
<p>Juntos, com uma empresa que traz no seu DNA a força do Nordeste, vamos contribuir para o crescimento do Brasil.</p>
<p>
<a role="button" class="button" target="" href="http://www.b3.com.br/pt_br/noticias/mdne3.htm">Saiba Mais</a>
</p>
</div>
</div>
</div>
<div class="imagem-banner" style="background-image:url('../data/files/68/B0/84/EC/F9F30710F4D5B107AC094EA8/BannerSiteB3-IPOMOURA.jpg');"></div>
<div class="imagem-banner" style="background-image:url('../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/img/banner1.jpg');"></div>
</div>
<div class="swiper-slide">
<div class="row">
<div class="large-6 medium-6 columns end">
<div class="textos-banner sombra">
<h2>Tarifação</h2>
<p>Redução de tarifas para estimular o desenvolvimento do mercado de capitais no Brasil</p>
<p>
<a role="button" class="button" target="_blank" href="http://www.b3.com.br/pt_br/menu-hierarquico/tarifas-b3.htm">Saiba mais</a>
</p>
</div>
</div>
</div>
<div class="imagem-banner" style="background-image:url('../data/files/BA/66/78/44/8A85F6109A4874F6AC094EA8/bannersite_tarifacao.jpg');"></div>
<div class="imagem-banner" style="background-image:url('../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/img/banner1.jpg');"></div>
</div>
</div>
<div class="swiper-pagination"></div>
</div></div>
<div class="row"><div class="br-com-bvmf-internet-service-bvmfacessorapido br-com-bvmf-internet-service-bvmfacessorapido-acessoRapido lum-non-administration-area lum-interface-type-standard lum-interface-type-list">
<div class="lum-filters" style="display:none;"><div class="lum-filters-form"></div></div><div class="small-12 columns"><div class="row large-collapse show-for-small-only"><br><button data-dropdown="drop1" aria-controls="drop1" aria-expanded="false" class="button expand dropdown" href="#">Acesso rápido</button><ul id="drop1" data-dropdown-content="" class="f-dropdown" aria-hidden="true"><li><a href="http://www.b3.com.br/pt_br/menu-hierarquico/acesso-aos-sistemas.htm">Acesso aos sistemas</a></li><li><a href="http://www.b3.com.br/pt_br/produtos-e-servicos/negociacao/renda-variavel/empresas-listadas.htm">Empresas listadas</a></li><li><a href="http://www.b3.com.br/pt_br/regulacao/oficios-e-comunicados/oficios-e-comunicados/">Ofícios e comunicados</a></li><li><a href="http://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/consultas/boletim-diario/boletim-diario-do-mercado/">Boletim diário</a></li><li><a href="http://www.b3.com.br/pt_br/produtos-e-servicos/participantes/busca-de-participantes/busca-de-corretoras/">Busca de corretoras</a></li></ul></div></div><input type="hidden" id="es8A80CB81633FBF0B01634107476948DA_null_lum_errorSummary"></div></div>
<div class="row">
<div class="large-6 medium-5 small-12 columns"><div class="noticiasHome"><h2 class="title-home">Notícias</h2><div class="links"><a class="newsItem anim" href="../pt_br/noticias/alteracao-dos-limites-de-oscilacao-diaria.htm"><span class="placehold anim"><span class="date">12/03/2020</span><span class="name">Contrato Futuro de Ibovespa (IND) e Contrato Futuro Mini de Ibovespa (WIN)</span></span></a><a class="newsItem anim" href="../pt_br/noticias/aviso-ao-mercado-8AE490C870CAFAAF0170CEE91EA20557.htm"><span class="placehold anim"><span class="date">12/03/2020</span><span class="name">Circuit breaker</span></span></a><a class="newsItem anim" href="../pt_br/noticias/aviso-ao-mercado-8AE490CA70C247CB0170CAD3C85C077A.htm"><span class="placehold anim"><span class="date">11/03/2020</span><span class="name">Circuit breaker</span></span></a></div></div><p><a href="/main.jsp?lumPageId=8A6880385087370E01508796D8732475">Mais Notícias</a></p><input type="hidden" id="bvmf-locales-content" name="bvmf-locales-content" value="pt_BR,pt_BR,en_US,pt_BR,en_US,pt_BR,pt_BR,pt_BR,en_US,pt_BR,pt_BR,pt_BR,"></div>
<div></div>
<div class="large-3 medium-3 small-12 columns hide-for-small"><div class="br-com-bvmf-internet-service-bvmfacessorapido br-com-bvmf-internet-service-bvmfacessorapido-acessoRapido lum-non-administration-area lum-interface-type-standard lum-interface-type-list">
<div class="lum-filters" style="display:none;"><div class="lum-filters-form"></div></div><h2 class="title-home">Acesso rápido</h2><div class="base-acesso-rapido show-for-medium-up"><ul class="menu-acesso-rapido"><li><a href="http://www.b3.com.br/pt_br/menu-hierarquico/acesso-aos-sistemas.htm"><span class="menu-icon"><img src="../data/files/71/B4/DA/C6/FD0A651047F40A65790D8AA8/ic_trending_up_black_48dp_2.png"></span><div class="menu-content"><h2 class="menu-main">Acesso aos sistemas</h2></div></a></li><li><a href="http://www.b3.com.br/pt_br/produtos-e-servicos/negociacao/renda-variavel/empresas-listadas.htm"><span class="menu-icon"><img src="../data/files/4C/A4/C5/C6/FD0A651047F40A65790D8AA8/ic_business_black_48dp.png"></span><div class="menu-content"><h2 class="menu-main">Empresas listadas</h2></div></a></li><li><a href="http://www.b3.com.br/pt_br/regulacao/oficios-e-comunicados/oficios-e-comunicados/"><span class="menu-icon"><img src="../data/files/68/B4/66/D6/FD0A651047F40A65790D8AA8/ic_format_align_left_black_48dp.png"></span><div class="menu-content"><h2 class="menu-main">Ofícios e comunicados</h2></div></a></li><li><a href="http://www.b3.com.br/pt_br/market-data-e-indices/servicos-de-dados/market-data/consultas/boletim-diario/boletim-diario-do-mercado/"><span class="menu-icon"><img src="../data/files/7E/A4/39/C6/FD0A651047F40A65790D8AA8/ic_equalizer_black_48dp_2.png"></span><div class="menu-content"><h2 class="menu-main">Boletim diário</h2></div></a></li><li><a href="http://www.b3.com.br/pt_br/produtos-e-servicos/participantes/busca-de-participantes/busca-de-corretoras/"><span class="menu-icon"><img src="../data/files/26/B4/44/D6/FD0A651047F40A65790D8AA8/ic_pageview_black_48dp.png"></span><div class="menu-content"><h2 class="menu-main">Busca de corretoras</h2></div></a></li></ul></div><input type="hidden" id="es8A488ABF55304D8201553130CABF618C_null_lum_errorSummary"></div></div>
<div class="large-3 medium-4 columns hide-for-small"><div class="br-com-bvmf-internet-service-bvmfdestaquenovahome br-com-bvmf-internet-service-bvmfdestaquenovahome-destaque lum-non-administration-area lum-interface-type-standard lum-interface-type-list">
<div class="lum-filters" style="display:none;"><div class="lum-filters-form"></div></div><br><br><div class="destaquesPanel"><a id="destaquesPanel-link" class="Item anim" target="_blank" name="Canal Eletrônico do Investidor (CEI)" href="https://cei.b3.com.br/CEI_Responsivo/"><div class="destaquesPanel-media" style="background-image: url('../data/files/51/91/36/DD/BA4846109988C646AC094EA8/CEI.jpg');"></div><div class="destaquesPanel-content" data-equalizer-watch=""><h5>Canal Eletrônico do Investidor (CEI)</h5><p>Consulte suas posições nos mercados administrados pela B3.</p></div></a><script>
var a = document.getElementById('destaquesPanel-link');
$('#drop1').prepend($('<li><a target="'+a.target+'" href="'+a.href+'">'+a.name+'</a></li>'))
</script></div><input type="hidden" id="es2C9FBE6363B13B3A0163D51A39DD701B_null_lum_errorSummary"></div></div>
</div>
<div><div class="br-com-bvmf-internet-service-bvmfdestaquenovahome br-com-bvmf-internet-service-bvmfdestaquenovahome-destaque3c lum-non-administration-area lum-interface-type-standard lum-interface-type-list">
<div class="lum-filters" style="display:none;"><div class="lum-filters-form"></div></div><div class="bg-cinza"><div class="row"><div class="large-12 medium-12 columns"><ul class="bxslider" data-equalizer=""><li><div class="destaquesPanel"><a class="Item anim" target="_blank" href="https://cursos.saintpaul.com.br/cursos-b3-educacao-executiva"><div class="destaquesPanel-media" style="background-image: url('../data/files/99/20/7F/BE/2FFAF6109A4874F6AC094EA8/card_SaintPaul.jpg');"></div><div class="destaquesPanel-content" data-equalizer-watch=""><h5>Curso B3 Educação é na Saint Paul</h5><p>Conheça a grade completa dos cursos para 2020</p></div></a></div></li><li><div class="destaquesPanel"><a class="Item anim" target="_blank" href="http://www.b3.com.br/pt_br/noticias/imposto-de-renda.htm"><div class="destaquesPanel-media" style="background-image: url('../data/files/81/16/97/D4/BE1A0710660DD9079C094EA8/Card-Imposto.jpg');"></div><div class="destaquesPanel-content" data-equalizer-watch=""><h5>IR 2020</h5><p>Veja como consultar o informe de rendimentos sobre seus investimentos</p></div></a></div></li><li><div class="destaquesPanel"><a class="Item anim" target="_blank" href="http://www.b3.com.br/pt_br/noticias/dados-para-download.htm"><div class="destaquesPanel-media" style="background-image: url('../data/files/91/E2/9B/A3/A8B6E610B60806E6AC094EA8/Card_ArquivosParaDowload.jpg');"></div><div class="destaquesPanel-content" data-equalizer-watch=""><h5>Fechamento diário do mercado</h5><p>Agora, é possível além da consulta na tela, você também pode baixar as informações regulatórias de fechamento diário do mercado. Acesse.</p></div></a></div></li><li><div class="destaquesPanel"><a class="Item anim" href="http://www.b3.com.br/pt_br/noticias/feriados.htm"><div class="destaquesPanel-media" style="background-image: url('../data/files/E9/D2/2F/25/0284E610BB692DD6AC094EA8/Card_calendario.jpg');"></div><div class="destaquesPanel-content" data-equalizer-watch=""><h5>Feriados</h5><p>Confira o calendário de 2020</p></div></a></div></li></ul></div></div></div><input type="hidden" id="es8A488ABF55304D82015531319C6861E9_null_lum_errorSummary"></div></div>
<div class="footer"><script>
$( document ).ready(function() {
$.get('/' + g_LumisLocale.toLocaleLowerCase() + '/blocos/rodape.htm', function(data) {
$(".footer").append(data);
});
});
</script></div>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/foundation.min.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/jquery.stellar.min.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/responsive.tables.min.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/search/classie.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/search/uisearch.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/jquery-ui.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/jquery.bxslider.min.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/bowser.min.js"></script>
<script src="../lumis-theme/br/com/bvmf/internet/theme/bvmf-internet/js/swiper.js"></script>
<script>
$(document).foundation({
reveal : {
animation: 'fade',
}
});
$('#Section-1').hover(function () { $('.top-bar-section ul li.Section-1').toggleClass('active'); });
$('#Section-2').hover(function () { $('.top-bar-section ul li.Section-2').toggleClass('active'); });
$('#Section-3').hover(function () { $('.top-bar-section ul li.Section-3').toggleClass('active'); });
$('#Section-4').hover(function () { $('.top-bar-section ul li.Section-4').toggleClass('active'); });
$('#Section-5').hover(function () { $('.top-bar-section ul li.Section-5').toggleClass('active'); });
$("table").addClass("responsive");
$.stellar({ horizontalScrolling: false });
$(document).ready(function(){
var hash = window.location.hash.replace("#","");
if(hash != "") {
$('span[id="' + hash + '"]').eq(0).closest( "tr" ).addClass('selected');
}
})
getMobileOperatingSystem();
if(document.getElementById('sb-search') != null)
new UISearch(document.getElementById('sb-search'));
function getMobileOperatingSystem() {
var userAgent = navigator.userAgent || navigator.vendor || window.opera;
if( userAgent.match( /iPad/i ) )
{
$('#baixar').attr('href', 'https://itunes.apple.com/br/app/bm-fbovespa/id398700163?mt=8')
}
else if( userAgent.match( /iPhone/i ) )
{
$('#baixar').attr('href', 'https://itunes.apple.com/us/app/bm-fbovespa-quotations/id412991543?mt=8')
}
else if( userAgent.match( /Android/i ) )
{
$('#baixar').attr('href', 'https://play.google.com/store/apps/details?id=br.bovespa&hl=pt_BR')
}
}
/*Cards Home*/
$('.bxslider').bxSlider({
slideWidth: 297,
minSlides: 1,
maxSlides: 4,
infiniteLoop: false,
slideMargin: 20,
controls: false,
});
/*Select Multidiomas*/
$(document).ready(function(){
$(".idioma-flag").click(function(){
$(".idioma-drop").toggleClass("open");
});
$("ul.idioma-list li").click(function(){
$("ul.idioma-list li").removeClass("selected");
$(this).addClass("selected");
if($(this).hasClass('idioma-en')){
$(".idioma-drop").find(".idioma-flag").addClass("idioma-en").removeClass("idioma-es").removeClass("idioma-pt");
$("#idioma_selected").html("<p>EN</p>")
}else if($(this).hasClass('idioma-pt')){
$(".idioma-drop").find(".idioma-flag").addClass("idioma-pt").removeClass("idioma-es").removeClass("idioma-en");
$("#idioma_selected").html("<p>PT</p>")
}else{
$(".idioma-drop").find(".idioma-flag").addClass("idioma-es").removeClass("idioma-en").removeClass("idioma-pt");
$("#idioma_selected").html("<p>ES</p>")
}
$(".idioma-drop").removeClass("open");
});
})
/*BANNER Swiper */
var swiper = new Swiper('.swiper-container', {
pagination: '.swiper-pagination',
loop: true,
autoplay: 7000,
autoplayDisableOnInteraction: true
});
</script>
<script type="text/javascript">
//<![CDATA[
if(document.cookie.search("lumUserLocale=pt_BR")==-1)document.write("<div style=\"display:none\"><img src=\"../lumis/portal/controller/html/SetLocale.jsp?lumUserLocale=pt_BR\" alt=\" \"/><\/div>");
//]]>
</script><script type="text/javascript" async src="https://d335luupugsy2.cloudfront.net/js/loader-scripts/cb5f6b6a-a83d-494b-83e0-1aeff7a07b93-loader.js"></script>
</body></html>
"""##
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let matches = regex.matches(in: testString, range: stringRange)
var result: [[String]] = []
for match in matches {
var groups: [String] = []
for rangeIndex in 1 ..< match.numberOfRanges {
let nsRange = match.range(at: rangeIndex)
guard !NSEqualRanges(nsRange, NSMakeRange(NSNotFound, 0)) else { continue }
let string = (testString as NSString).substring(with: nsRange)
groups.append(string)
}
if !groups.isEmpty {
result.append(groups)
}
}
print(result)
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 Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression