92, '[^:]', ascii], [4, 92, '[A-Za-z0-9,.()%!]', ascii], [4, 93, '^.*\\.', 'Primeira frase. Segunda frase. Terceira frase.'], [4, 93, '^[^.]*\\.', 'Primeira frase. Segunda frase. Terceira frase.'], [4, 93, '^[A-Za-z ,]*\\.', 'Primeira frase. Segunda frase. Terceira frase.'], [4, 93, '<.*>', negrito], [4, 93, '<[^>]*>', negrito], // 95 // 96 [5, 97, 'jipe 4[xX]4', ['jipe 4x4', 'jipe 4X4', 'Jipe 4x4', 'JIPE 4X4']], [5, 98, '[Pp][Rr][Oo][Bb][Ll][Ee][Mm][Aa]', 'problema Problema PROBLEMA PRObleMA PrObLeMa pROBLEMA'.multi()], [5, 99, '^[^a][^q][^u][^i]', 'aqui aonde agora assim'.multi()], [5, 99, '^([^a]|a[^q]|aq[^u]|aqu[^i]|aqui[a-za-u])', 'aqui aonde agora assim'.multi() + '\no aqui e proibido.'], [5, 99, '^(?!aqui).*', 'aqui aonde agora assim'.multi() + '\no aqui e proibido.'], [5, 102, '[A-U]', ascii, errata_trema], [5, 102, '[a-u]', ascii, errata_trema], [5, 102, '[A-u]', ascii, errata_trema], [5, 102, '[a-za-u]', ascii, errata_trema], [5, 102, '[A-ZA-U]', ascii, errata_trema], [5, 102, '[A-Za-zA-u]', ascii, errata_trema], [5, 102, '[A-Za-zA-u0-9]', ascii, errata_trema], [6, 106, '[A-Z]+', ascii], [6, 107, '(\\d\\d)/(\\d\\d)/(\\d{4})', data], [6, 107, '\\w+', ascii], [6, 107, '[A-Za-zA-u]+', ascii, errata_trema], [6, 107, '(\\d\\d)-\\1', '86-86 12-12 88-99'], [6, 112, '[a-z]+', ascii], [6, 113, '(..)/(..)/(....)', data], // [6, 113, '\\x0041', ascii], // don't work [6, 114, '([0-9]+)-\\1', '86-86 123-123 88-99'], [7, 136, '(..)(..)(....)', 'JavaScript'], [7, 137, '\\w', 'Java'], [7, 137, '[\\wA-u]', 'Java', errata_trema] // ['B', 202, 'Tabela ASCII pra voce brincar :)', ascii]];String.prototype.fix_newline = function () { return this.replace(/\r\n/g, '\n');};String.prototype.HTMLescape = function () { return this.replace(/&/g, '&').replace(/[<]/g, '<').replace(/>/g, '>');};function casar() { var i, er, texto, casamento, num_casamentos, grupos_html; // get er = document.getElementById('er').value; texto = document.getElementById('texto').value.fix_newline(); // match try { er = new RegExp(er, 'gm'); // global, multiline document.getElementById('er').style.backgroundColor = colorRegexOk; casamento = er.exec(texto); if (casamento) { texto = texto.replace(er, '\a1$&\a2'); num_casamentos = (texto.split(/\a1/g).length - 1); } } catch (e) { document.getElementById('er').style.backgroundColor = colorRegexNok; } // escape texto = texto.HTMLescape(); // highlight texto = texto.replace(/\a1/g, ''); texto = texto.replace(/\a2/g, ''); // show document.getElementById('resultado').innerHTML = texto || '-vazio-'; // So mostra conteudo dos grupos se casou somente uma vez, pra nao confundir. if (casamento && num_casamentos === 1 && casamento.length > 1) { grupos_html = ''; for (i = 1; i < casamento.length; i++) { if (casamento[i] !== undefined) { grupos_html += '' + casamento[i] + ''; } } grupos_html += ''; document.getElementById('gruposlista').innerHTML = grupos_html; document.getElementById('grupos').style.display = 'block'; } else { document.getElementById('gruposlista').innerHTML = ''; document.getElementById('grupos').style.display = 'none'; }}function carregar(er, texto) { document.getElementById('er').value = er; document.getElementById('texto').value = texto; casar();}function carregar_exemplo(i) { var texto, proximo, anterior, max, errata; window.location.hash = '#' + i; texto = exemplos[i][3]; if (exemplos[i].length === 5) { errata = 'ERRATA: ' + exemplos[i][4]; } if (typeof texto !== 'string') { texto = texto.join('\n'); // array2string, multiline } document.getElementById('er').value = exemplos[i][2]; document.getElementById('errata').innerHTML = errata || ''; document.getElementById('texto').value = texto; document.getElementById('num_pagina').innerHTML = exemplos[i][1]; anterior = i - 1; proximo = i + 1; max = exemplos.length; if (anterior === 0) { anterior = max - 1; } if (proximo === max) { proximo = 1; } document.getElementById('anterior').href = 'javascript:carregar_exemplo('+ anterior + ')'; document.getElementById('proximo').href = 'javascript:carregar_exemplo('+ proximo + ')'; // // mostrar nome (er) dos exemplos // document.getElementById('anterior').innerHTML = exemplos[i - 1][2].HTMLescape(); // document.getElementById('proximo').innerHTML = exemplos[i + 1][2].HTMLescape(); casar();}function carregar_texto(i) { document.getElementById('texto').value = textos[i]; casar();}function gera_exemplos() { var i, html, capitulo_ant, pagina_ant, capitulo, pagina; //