Jump to content

Filtro Regex


OdeioParasita

Recommended Posts

Alguém já montou (ou monta) filtro utilizando expressão regular? Se as combinações forem consideradas como uma cadeia de caracteres numéricos é possível usar regex para filtrar.

 

Regex não tem compromisso com desempenho e seria lento para muitas combinações, mas para testes rápidos em poucas centenas de combinações poderia ser interessante.

 

https://pt.wikipedia.org/wiki/Expressão_regular

Link to comment
Share on other sites

nao vejo como poderia ser util, já que dezenas são exatas e nao são como palavras que podem ser abstratas , se procura um conjunto de dezenas se pode ignorar as outras que tenham na mesma combinação e a ordem nao interfere ao contrario do que acontece com palavras onde a ordem interfere na busca

eu mesmo gosto de fazer varios tipos de filtros para minha planilha  onde estão inclusos outros fatores para a busca e nao apenas a combinação da linha mestre de busca

estava até montando um filtro estilo formulas do excel já que minha planilha trata cada loteria como uma tabela, acabei desistindo pq começou a ficar muito complexo e eu nao sou particularmente bom em criar nomes de funções, então fiz outras mais simples, mesmo pq eu ia ficar com preguiça de escrever as formulas de filtragem ,

image.png.f46860cc94c56fa67b8e01b47b6a10f3.png

um dos filtros, filtra data, numero de sorteio "digito", dezenas com quantidade minima de acerto,

tipo eu posso filtrar os sorteios que sairam só a dezena 4 nas quarta feiras na segunda bola sorteada e que no sorteio anterior tenha saido as dezenas 10 e 20 juntas ou 30 e 40 juntas e mostrar o sorteios seguntes

esse ajuste na mega deu esse resultado

175 10/07 10 20 13 1 42 50
176 17/07 28 4 1 45 53 3
177 24/07 35 22 39 41 59 38
               
2057 07/07 37 38 20 13 10 54
2058 11/07 19 4 23 29 59 56
2059 14/07 5 4 36 56 40 44
Link to comment
Share on other sites

4 hours ago, Omesmo said:

nao vejo como poderia ser util, já que dezenas são exatas e nao são como palavras que podem ser abstratas , se procura um conjunto de dezenas se pode ignorar as outras que tenham na mesma combinação e a ordem nao interfere ao contrario do que acontece com palavras onde a ordem interfere na busca

eu mesmo gosto de fazer varios tipos de filtros para minha planilha  onde estão inclusos outros fatores para a busca e nao apenas a combinação da linha mestre de busca

estava até montando um filtro estilo formulas do excel já que minha planilha trata cada loteria como uma tabela, acabei desistindo pq começou a ficar muito complexo e eu nao sou particularmente bom em criar nomes de funções, então fiz outras mais simples, mesmo pq eu ia ficar com preguiça de escrever as formulas de filtragem ,

image.png.f46860cc94c56fa67b8e01b47b6a10f3.png

um dos filtros, filtra data, numero de sorteio "digito", dezenas com quantidade minima de acerto,

tipo eu posso filtrar os sorteios que sairam só a dezena 4 nas quarta feiras na segunda bola sorteada e que no sorteio anterior tenha saido as dezenas 10 e 20 juntas ou 30 e 40 juntas e mostrar o sorteios seguntes

esse ajuste na mega deu esse resultado

175 10/07 10 20 13 1 42 50
176 17/07 28 4 1 45 53 3
177 24/07 35 22 39 41 59 38
               
2057 07/07 37 38 20 13 10 54
2058 11/07 19 4 23 29 59 56
2059 14/07 5 4 36 56 40 44

 

Acho que você não entendeu a proposta. A ideia é tratar as dezenas como se fossem caracteres (texto). Fazendo assim, a linguagem de script regex é poderosa o suficiente para permitir buscas com critérios muito complexos. Isso pode ser feito de forma fácil para quem tem familiaridade com a linguagem.

 

A ideia de se usar Regex é válida no sentido de ser uma alternativa para quem tem familiaridade. Existem várias formas de se fazer uma filtragem, regex é uma delas. Eu, por princípio, não descarto uma possibilidade só porque tenho preferência por outra. Assim, posso usar uma E outra.

 

Eu, por exemplo, sempre que a ferramenta de busca permite regex, faço buscas com regex para saber se 3 dezenas quaisquer já estiveram juntas em um mesmo sorteio. Regex permite a inclusão do critério “quaisquer”, o que não aconteceria numa busca normal, sem regex.

 

Exemplo prático, se o critério de busca pelo terno 7, 28, 35. Uma busca normal encontraria a combinação 3, 7, 28, 35, 44, 57 da Megasena. Porém, não contraria a combinação  2, 7, 10, 19, 28, 35 que também atenderia.

Edited by OdeioParasita
  • Like 1
Link to comment
Share on other sites

Outro exemplo prático. Eu tenho vários arquivos textos, cada um contendo os sorteios das loterias da CAIXA. Então, uso o recurso de busca “Find in Files” com regular expression do NotePad++ para encontrar se uma determinada quadra já foi sorteada em QUAQUER loteria.

 

Faço isso apenas digitando uma expressão regular simples no campo de busca do editor.

Link to comment
Share on other sites

42 minutes ago, OdeioParasita said:

 

Acho que você não entendeu a proposta. A ideia é tratar as dezenas como se fossem caracteres (texto). Fazendo assim, a linguagem de script regex é poderosa o suficiente para permitir buscas com critérios muito complexos. Isso pode ser feito de forma fácil para quem tem familiaridade com a linguagem.

 

A ideia de se usar Regex é válida no sentido de ser uma alternativa para quem tem familiaridade. Existem várias formas de se fazer uma filtragem, regex é uma delas. Eu, por princípio, não descarto uma possibilidade só porque tenho preferência por outra. Assim, posso usar uma E outra.

 

Eu, por exemplo, sempre que a ferramenta de busca permite regex, faço buscas com regex para saber se 3 dezenas quaisquer já estiveram juntas em um mesmo sorteio. Regex permite a inclusão do critério “quaisquer”, o que não aconteceria numa busca normal, sem regex.

 

Exemplo prático, se o critério de busca pelo terno 7, 28, 35. Uma busca normal encontraria a combinação 3, 7, 28, 35, 44, 57 da Megasena. Porém, não contraria a combinação  2, 7, 10, 19, 28, 35 que também atenderia.

 

perfeito !!!!

 

uso algo assim em awk e perl para minhas pesquisas, mas ainda estou longe de ser um usuário regex junior :) 

 

meus parabéns pela visão ampla e fora da caixinha !

Link to comment
Share on other sites

Se os sorteios da Megasena estiverem em um arquivo texto, cada sorteio em uma linha, regex permitiria, por exemplo:

 

  1. Contar quantas vezes uma determinada quadra já foi sorteada;
  2. Contar quantas vezes um determinado terno foi sorteado em sequência;
  3. Verificar se uma determinada quina foi sorteada em um intervalo de sorteios.

 

A ideia desse tópico é para que as pessoas que têm familiaridade com Regex, escrevam aqui as expressões que usam para fazer suas buscas.

 

Eu uso muito .* (ponto asterisco) para fazer minhas filtragens. Assim 4.*15.*19 encontra qualquer combinação que contenha o terno 4 15 19.

 

Eu também sou nível júnior em regex. Gostaria MUITO de ser bom em regex.

  • Like 1
Link to comment
Share on other sites

19 minutes ago, OdeioParasita said:

Eu também sou nível júnior em regex. Gostaria MUITO de ser bom em regex.

 

eu nem cheguei perto de ser junior, mas ainda chego lá, pois meu trabalho principal é eletrônica e uso pouco computadores para tratamento de textos. 

 

caso alguém tenha interesse:

 

uma ferramenta para aprender e treinar em http://www.weitz.de/regex-coach/

 

um bom livro para estudar o assunto: The Bastard Book of Regular Expressions - Dan Nguyen

Link to comment
Share on other sites

Filosoficamente falando, eu não procuro por uma técnica que faça ganhar na loteria. Essa técnica já existe e o nome dela é “sorte” (no sentido lógico e matemático de acaso). Porém, tenho muito interesse em saber se existe alguma abordagem de redução de universo com resultado inesperado.

 

Por exemplo, será que existe algum filtro que aplicado ao universo, indiretamente conduza para um fechamento ótimo para acertos de x pontos? A resposta é sim. As matrizes otimizadas são prova disso.

 

É questão de interpretação. Critério de filtragem, condição e resultado esperado. Em última instância, eu interpreto uma matriz de fechamento como uma espécie de filtro.

 

  • Um filtro de 7 pares tem como resultado final um conjunto de 1.019.304 combinações que garantem 15 pontos se o sorteio tiver 7 dezenas pares.
  • Um filtro 25-15-11-15 tem como resultado final um conjunto de 43 combinações que garantem pelo menos um acerto de 11 pontos. Sem qualquer pré-condição.
  • Um filtro 25-15-15-15 tem como resultado final um conjunto de 3.268.760 combinações que garantem pelo menos um acerto de 15 pontos. Sem qualquer pré-condição.
  • Um filtro 21-16-15-15 tem como resultado final um conjunto de 5.451 combinações que garantem 15 pontos se o sorteio tiver as 15 dezenas dentro das 21 escolhidas.

 

Como filtrar? Existem milhares de técnicas.

 

Edited by OdeioParasita
Correção em vermelho.
  • Like 1
  • Thanks 1
Link to comment
Share on other sites

4 horas atrás, OdeioParasita disse:

Exemplo prático, se o critério de busca pelo terno 7, 28, 35. Uma busca normal encontraria a combinação 3, 7, 28, 35, 44, 57 da Megasena. Porém, não contraria a combinação  2, 7, 10, 19, 28, 35 que também atenderia.

 

como falei, dezenas são exatas, são como caracteres caracteres isolados de um texto,

a diferença é que vc está usando uma ferramenta já disponivel, esse filtro que te mostrei faz isso, nao é algo dificil, muitas pessoas tem filtros similares, que pode trazer nao só as que tem essas 3 juntas, mas tbm colocar mais e filtrar jogos que tem no minimo 3 acertos dentro as dezenas escolhidas

 

com essas 3 na megasena  tem

293 05/09 6 12 35 5 28 7
1038 10/01 51 7 6 28 35 43

 

4 horas atrás, OdeioParasita disse:

Outro exemplo prático. Eu tenho vários arquivos textos, cada um contendo os sorteios das loterias da CAIXA. Então, uso o recurso de busca “Find in Files” com regular expression do NotePad++ para encontrar se uma determinada quadra já foi sorteada em QUAQUER loteria.

 

Faço isso apenas digitando uma expressão regular simples no campo de busca do editor.

 

sim dá para fazer pq são apenas textos a ferramenta nao vai fazer distinção se são jogos de azar, bem essa que montei tbm faz isso pq eu juntei as loteria num mesmo arquivo como tabelas

mas como va faria para filtrar com regras mais especificas

 

bem no fator de uso geral para outros que nao tem ferramentas proprias é significativo sim o uso já que tem na maioria das ferramentas de textos

mas eu realmente nao entendi a proprosta pq nao vi um diferencial de uso de uma simples busca de dezenas

 

me informe onde o regex ajudaria numa busca de loteria que uma busca por dezenas isoladas nao resolva , pq realmente nao entendi a proposta alem estar disponível para quem tem resultados em arquivos texto

 

 

 

Link to comment
Share on other sites

como va faria no regex algo do tipo mais especifico

tipo filtra um sorteio da mega que tenha saido numa quarta feira com final de concurso 24 e que o sorteio anterior tenha tido 2 dezenas dessas 6

37 45 1 27 10 36

 

filtrei aqui e deu

723 17/12 16 6 52 1 36 50
724 21/12 34 51 55 17 48 27
Link to comment
Share on other sites

acho que a questão aqui não são as ferramentas que se pode usar , mesmo pq as ferramentas que nao existir para o proposito se pode criar

 

a grande questão são as ideias do que fazer , oq filtrar e nao com oq filtrar

o regex é valido como ferramenta assim como planilhas e outros programas o cologa por exemplo ,

sim as ferramentas nos dão uma possibilidade de uso,

mas sem as ideias do que fazer com elas são só peso morto dentro do que se proproe

Link to comment
Share on other sites

2 hours ago, Omesmo said:

 

como falei, dezenas são exatas, são como caracteres caracteres isolados de um texto,

a diferença é que vc está usando uma ferramenta já disponivel, esse filtro que te mostrei faz isso, nao é algo dificil, muitas pessoas tem filtros similares, que pode trazer nao só as que tem essas 3 juntas, mas tbm colocar mais e filtrar jogos que tem no minimo 3 acertos dentro as dezenas escolhidas

 

me informe onde o regex ajudaria numa busca de loteria que uma busca por dezenas isoladas nao resolva , pq realmente nao entendi a proposta alem estar disponível para quem tem resultados em arquivos texto

 

 

Você fez muitas perguntas, vamos por partes.

 

Sim, regex é exclusivo para pesquisa em texto. A CAIXA disponibiliza os resultados em formato html que podem ser interpretados como texto. Pode se buscar no arquivo html através de um editor de textos.

 

Não, o objetivo não é deixar de usar planilhas para só usar regex.

 

Sim, a ideia é usar os recursos já disponíveis em uma ferramenta para buscas rápidas. O resultado da busca irá indicar se vale a pena, ou não, investir em desenvolver alguma coisa específica.

 

Não, o objetivo não é dizer que filtraagem com regex seja melhor que outra coisa. Mas indicar que é possível TAMBÉM usar filtragem via regex. Talvez, alguns sequer saibam disso.

 

Só é necessário tratar uma dezena matematicamente quando é necessário fazer uma operação matemática. Somar, dividir, saber se é par, saber se é primo, etc. Se o objetivo é apenas saber se há ocorrências ou contar ocorrências, tratar matematicamente ou como texto terá o mesmo resultado.

 

É mais fácil, e útil, aprender a linguagem regex do que aprender a usar uma planilha específica que apenas o criador sabe como usar. Visto que regex é uma linguagem formal com uma enorme comunidade praticante, livros publicados, tutoriais, vídeo-aulas, cursos, etc.

 

O diferencial da proposta é permitir obter resultados sem ter que desenvolver algo específico, desde que saiba usar a linguagem. Assim, não é para ser essencialmente um diferencial, mas uma alternativa.

 

Não, não estou dizendo que regex faça algo que não seja possível fazer com uma planilha. Estou dizendo que é uma alternativa.

 

Quanto a exemplos de expressão regular, como eu disse, sou nível júnior e não sei responder. Espero que haja experts para nos ensinar.

 

A melhor experiência que tive com regex até agora foi montar uma expressão para transformar arquivos do ININUGA em arquivos do COLOGA. Não fiz sozinho, usei ajuda encontrada na Internet. Basta abrir o arquivo em um editor de textos e fazer um “Find and Replace” com a expressão:

“^ +| +$|( )+”, “$1”

 

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

4 minutos atrás, OdeioParasita disse:

Para não criar falsa expectativa, é necessário dizer que quando o filtro exige qualquer operação matemática, regex não atende. Visto ser exclusivo para pesquisa em texto.

 

Ou seja, planilha > regex. Já que com uma planilha é possível pesquisar em texto E fazer operações matemáticas.

mas mesmo se for só para buscar em textos ainda tem certas limitações e complexidades

clao que é melhor aprender a usar uma ferramenta de uso geral que pode ser usada em outras coisas do que aprender a usar uma ferramenta de uso especifico que pode nem trazer o resultado esperado já que loteria é coisa do acaso

 

como falei eu gosto de montar minhas ferramentas, e para  procurar coisas que o regex poderia ser usado  já existem muitas ferramentas especificas  que nao exigem um grau de especialização para usar po ser só colcar as dezenas que se quer e mandar procurar com ou sem algum parâmetro alternativo

claro que se ordenar os sorteios em cadeia continua se pode criar buscas com regex muito uteis  só considerando a distancia das dezenas uma das outras

 

Link to comment
Share on other sites

29 minutes ago, Omesmo said:

claro que sou a favor de qualquer ideia de ferramentas que possam auxiliar

o regex é show, só nao vai ser util se nao souber usar e oq quer fazer com ele

 

 

Acho que agora você captou a ideia. Regex está para um arquivo texto, assim com a linguagem SQL está para um banco de dados. Ambas permitem poderosos critérios de busca.

Link to comment
Share on other sites

19 minutes ago, Wata said:

 

Eu mesmo, nunca ouvi falar.

 

Achei bem interessante.

Agora falta saber como isso pode ser aplicado.

Algum exemplo concreto?

 

Obrigado.

😎

...

 

Faça o seguinte teste:

 

  1. Abra uma lista com todos os sorteios da Lotofácil no Notepad++;
  2. Abra a janela de busca (Search->Find);
  3. Digite a seguinte expressão regular 2.*10.*11.*20.*25
  4. Habilite o Search Mode para Regular expression;
  5. Clique em Count;

 

O resultado será 201, que foi a quantidade de vezes que a quina campeã 2 20 11 20 25 já foi sorteada.

 

Outro exemplo. Ainda com a lista dos sorteios aberta no NotePad++, clique duas vezes (double click) em cima de qualquer dezena. O NotePad++ usa automaticamente regular expression e destaca todas as ocorrências da dezena selecionada. É assim que eu vejo se há dezenas fixas nas combinações.
 

 

Edited by OdeioParasita
Correção em vermelho.
  • Thanks 1
Link to comment
Share on other sites

1 hora atrás, OdeioParasita disse:

É assim que eu vejo se há dezenas fixas nas combinações.

e se as dezenas nao estiverem em ordem crescente?

mas nao entendi,

no caso vc faz buscas por cada combinação

nao seria mais facil comparar quantidade de repetidas entre as combinações independente das dezenas?

apesar de meu filtro ter um monte de funcionalidade eu nao o considero apropriado para isso

o melhor é usar um contador de acertos que retorne as linhas que teve o acerto

e fazer teste de uma matriz contra ela mesma

Link to comment
Share on other sites

8 hours ago, Omesmo said:

e se as dezenas nao estiverem em ordem crescente?

 

RegEx busca por padrões. Então, para montar a expressão é necessário saber o padrão no qual o arquivo está formatado.

 

As combinações estão ordenadas?

Qual separador? Espaço, vírgula, ponto, traço, etc.

Dezenas menores de 10 são representadas com ou sem zero?

 

Eu não tenho grande conhecimento de RegEx, mas acho que a expressão abaixo é capaz de encontrar a quina 02 10 11 20 25 independentemente da ordenação (ou falta dela).

 

(\b(02|10|11|20|25)\b.*){5,}

 

  • Like 1
Link to comment
Share on other sites

Em 28/09/2022 em 19:05, OdeioParasita disse:

 

Ou seja, planilha > regex. Já que com uma planilha é possível pesquisar em texto E fazer operações matemáticas.

eu tinha montado planilha para usar varios tipos de cálculos a parti de vba ,

ou melhor varios tipos de estatisticas chocando uma contra outra, e definindo a ordem das dezenas por esse calculo

claro qeu era apenas uma maneira de tentar facilitar ver oq poderia ter mais acertos

nao sei se seria um filtro usando parâmetros, acho que nao, mas poderia se se defini se o tipo de saida e filtrasse os sorteios por esse padrão

 

Conta_Sorteadas  

Conta_Ausentes   

Conta_Repetidas  

Conta_Atrasadas  

Maior_Atraso   

Maior_Repetição  

ultimo_atraso   

ultima_situação   

Média_ponderada_total 

Média_ponderada_atrasos

Média_ponderada_Repetidas

Acumulado_Total  

Força_Relativa   

Media_da_Saida_acumulada

Media_do_Atraso_acumulado

Dezena     

Conta_total    

IFRAP     

IFRAP_Periodo   

Baixo_Esquerda   

Baixo_Centro   

Baixo_Direita   

X_Dezenas_iguais  

 

, e essas coisas dentro de periodos

         
Quant Sort  
MaiorAtra    
MaiorRepet  
Soma_Atr+Rep
Soma Rep    
Soma Atr    
Filtro      

 

para falar a verdade acho que eu estava montando a planilha mais para brincar do que para tentar ganhar, pq nem jogo na lf

 

v que é bom em matematica acha que pode ser util um metodo desse?

 

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, Omesmo said:

v que é bom em matematica acha que pode ser util um metodo desse?

 

Qualquer coisa pode ser utilizada como filtro. Quando digo qualquer coisa, quero dizer qualquer coisa mesmo. Par, menor, maior, para o lado, para cima, para trás, sorteio passado, média, desenho, sequência, ausência, primo, algarismo, etc. etc. e etc. Vai do gosto do freguês. Se acertar o filtro, terá garantia de 15 pontos em uma determinada quantidade de combinações, com 100% de certeza.

 

Todos os filtros têm o mesmo comportamento proporcional, absolutamente todos. Se fosse diferente teriam que reinventar a matemática. Se o filtro é capaz de selecionar muitas combinações, terá muitos acertos de 15 pontos. Se o filtro for muito restritivo e deixar passar poucas combinações, terá poucos acertos de 15 pontos.

 

É possível quantificar a dificuldade do filtro. Se:

 

  • Q_P_F = Quantidade de combinações que passou no filtro;
  • U = Universo;
  • A_F = Acertos de 15 pontos do filtro;
  • S_R = Sorteios já realizados.

 

Então: (Q_P_F / U) é proporcional a (A_F / S_R)

 

Existem aberrações temporárias, como o filtro da soma 212, por exemplo, que está fora do desvio padrão esperado (Em vermelho no gráfico abaixo). Estatisticamente falando, essa aberração será corrigida ao longo do tempo.

 

image.png.b149d05a621ae01f248eb4d5e52a8f7f.png

Edited by OdeioParasita
Correção em vermelho.
Link to comment
Share on other sites

On 9/28/2022 at 4:47 PM, Omesmo said:

acho que a questão aqui não são as ferramentas que se pode usar , mesmo pq as ferramentas que nao existir para o proposito se pode criar

 

a grande questão são as ideias do que fazer , oq filtrar e nao com oq filtrar

 

mas sem as ideias do que fazer com elas são só peso morto dentro do que se proproe

 

De certa forma, eu sou oposto a você. Você sempre diz que tem uma ferramenta, mas não sabe o que fazer com ela. Eu sou o contrário, não tenho ferramenta alguma. Quando tenho uma ideia uso qualquer coisa disponível para desenvolver a ideia. Planilha, editor de texto, calculadora, munheca, software pronto, desenvolvimento, desenho, lápis, caneta, analogia, comparação, etc. etc. etc. Vou até o fim e tiro minhas conclusões.

 

Link to comment
Share on other sites

4 horas atrás, OdeioParasita disse:

 

De certa forma, eu sou oposto a você. Você sempre diz que tem uma ferramenta, mas não sabe o que fazer com ela. Eu sou o contrário, não tenho ferramenta alguma. Quando tenho uma ideia uso qualquer coisa disponível para desenvolver a ideia. Planilha, editor de texto, calculadora, munheca, software pronto, desenvolvimento, desenho, lápis, caneta, analogia, comparação, etc. etc. etc. Vou até o fim e tiro minhas conclusões.

 

vc nao entendeu oq eu falei

falei que sem a ideia nao adianta a ferramenta

mas quando eu tenho a ideia eu monto , uso planilha como ferramenta

essas planilha de filtros são frutos das minhas ideias

sõ foram in-frutificas

 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...