Jump to content

Filtro Regex


OdeioParasita

Recommended Posts

9 horas atrás, OdeioParasita disse:

Qualquer coisa pode ser utilizada como filtro. Quando digo qualquer coisa, quero dizer qualquer coisa mesmo.

essa planilha em questão nao faz filtragem, só contagens

ela sonta cada dezena dentro do parâmetro estabelecido e ordena essas dezenas

criando assim ordens de grandeza

no caso dá para criar tabelas posicionais

 

eu postei uma planilha aqui no forum que faz isso só que de maneira simples com , e com bem menos recursos

tbm nao tem tutorial  kkkk

  • Thanks 1
Link to comment
Share on other sites

On 9/30/2022 at 8:36 AM, Omesmo said:

essa planilha em questão nao faz filtragem, só contagens

ela sonta cada dezena dentro do parâmetro estabelecido e ordena essas dezenas

criando assim ordens de grandeza

no caso dá para criar tabelas posicionais

 

eu postei uma planilha aqui no forum que faz isso só que de maneira simples com , e com bem menos recursos

tbm nao tem tutorial  kkkk

 

Se eu apostasse na Megasena, Quina ou Lotomania, por exemplo, eu levaria o ciclo das dezenas em consideração. Mas como eu só aposto na Lotofácil, cujo ciclo das dezenas tem média de apenas 4 sorteios, eu desconsidero.

 

Na forma que eu escolhi para definir as dezenas, ordenação individual não se aplica, apenas agrupadas em combinação de 5. Eu faço aposta com 20 dezenas e eu me baseio em ciclo de combinação para retirar 5 dezenas.

 

Não estou dizendo que isso é melhor do que analisar cada dezena individualmente. É questão de preferência. Quando comparados, os resultados são muito parecidos. Então, cada um faz do jeito que gosta mais.

 

  • Like 1
Link to comment
Share on other sites

1 hour ago, OdeioParasita said:

 

Eu faço aposta com 20 dezenas e eu me baseio em ciclo de combinação para retirar 5 dezenas.

 

 

A forma como eu visualizo a aposta difere um pouco do que normalmente as pessoas fazem aqui no fórum. Por exemplo, peguei uma aposta qualquer num dos tópicos de palpites. A maioria das pessoas visualiza apenas como 3 apostas de 17 dezenas.

 

01 02 03 04 05 06 07 11 12 13 15 16 19 20 23 24 25

01 02 03 05 06 07 08 09 10 11 12 15 16 19 22 24 25

01 02 04 06 07 08 11 12 13 14 16 17 19 20 21 24 25

 

Eu visualizo com da seguinte forma:

1. Aposta com 24 dezenas (Só o 18 está fora);

2. Aposta com 10 dezenas fixas: 01 02 06 07 11 12 16 19 24 25;

3. Aposta com 3 combinações de 17 dezenas. Com as seguintes chances de acerto:

 

24-17-14-15=3 --> 1,12%

24-17-13-15=3 --> 11,95%

24-17-12-15=3 --> 48,91%

24-17-11-15=3 --> 88,53%

 

Essa aposta custaria R$ 1.020,00 e tem 90% de chance recuperar uns R$ 200,00 e 50% de chance de recuperar uns R$ 500,00. Ou seja, há 90% de chance de tomar um prejuízo de R$ 800,00.

 

Quando digo que faço aposta com 20 dezenas, estou me referindo ao item 1. Ou seja, deixo 5 dezenas de fora do jogo. Mas a forma como eu combino as 20 dezenas varia de acordo com o meu humor, inspiração, feeling, etc.

 

  • Like 2
Link to comment
Share on other sites

  • 4 weeks later...
Em 01/10/2022 em 18:38, OdeioParasita disse:

Não estou dizendo que isso é melhor do que analisar cada dezena individualmente. É questão de preferência. Quando comparados, os resultados são muito parecidos. Então, cada um faz do jeito que gosta mais.

na lf praticamente nem aposto, só gosto de montar essas maluquices mesmo, é divertido

na mega aposto as vezes e faço outras maluquices, assim como nas outras que só aposto quando está bem acumulado e eu sismo de apostar

tenho tentado montar outro tipo de filtro para a planilha, mas é algo meio complexo, tenho enrolado uns dias para fazer entre minhas coisas

bem a parte do vba eu me viro meu problema é a parte estrutural do controle , nao sou bom para montar interfaces , e a interface tem grande parte do que eu escrevo de codigo,

 

  • Thanks 1
Link to comment
Share on other sites

Em 01/10/2022 em 20:22, OdeioParasita disse:

Quando digo que faço aposta com 20 dezenas, estou me referindo ao item 1. Ou seja, deixo 5 dezenas de fora do jogo. Mas a forma como eu combino as 20 dezenas varia de acordo com o meu humor, inspiração, feeling, etc.

só faço apostas individuais, quando aposto , as vezes é 1 ou 2 jogos apenas, então teste de combinações são dispendiosos, é mais pratico fazer teste de dezenas montar a combinação e depois fazer o teste da combinação gerada 

  • Thanks 1
Link to comment
Share on other sites

  • 2 weeks later...

Esse tópico não fez sucesso, mas pelo menos 50% das análises que faço, utilizo como ferramenta o Notepad++ e Find in Files com Regular-Expression.

 

Se eu tivesse que implementar todas as minhas ideias, eu gastaria muito tempo. Assim, Regular Expression é uma espécie de prototyper e que me permite implementar só as ideias que vingaram.

 

É uma ótima dica para aqueles que não forem orgulhosos demais para aceitar dicas de um ser inferior como eu, que não pertence à patota. 😎

  • Like 1
Link to comment
Share on other sites

4 horas atrás, OdeioParasita disse:

É uma ótima dica para aqueles que não forem orgulhosos demais para aceitar dicas de um ser inferior como eu, que não pertence à patota. 😎

o pessoal nao quer trabalho mesmo,

quando se lança alguma planilha como ferramenta a primeira coisa que perguntam é se ela dá palpites de apostas

ou seja, eles já querem os numeros

  • Haha 1
Link to comment
Share on other sites

  • 2 weeks later...
Em 05/11/2022 em 13:07, OdeioParasita disse:

Esse tópico não fez sucesso, mas pelo menos 50% das análises que faço, utilizo como ferramenta o Notepad++ e Find in Files com Regular-Expression.

 

Se eu tivesse que implementar todas as minhas ideias, eu gastaria muito tempo. Assim, Regular Expression é uma espécie de prototyper e que me permite implementar só as ideias que vingaram.

 

É uma ótima dica para aqueles que não forem orgulhosos demais para aceitar dicas de um ser inferior como eu, que não pertence à patota. 😎

 

[]

  • Olá,
     

    O que você realmente gosta não está claramente definido em seu post! Então eu tentei adivinhar ;-)

    • Aparentemente, você está procurando, ou a string Word1 OU a string Word2 , em vários arquivos

    • Como eu suponho que esses arquivos podem conter muitas ocorrências da string Word1 E/OU muitas ocorrências da string Word2 , você preferiria obter apenas UM resultado, por arquivo , não é?

    • Mas, como é provável que a maioria deles contenha as DUAS strings Word1 e Word2 , você prefere:

      • A) : UM resultado, por arquivo, contendo UMA das duas strings, seja ela qual for

      • B) : DOIS resultados, por arquivo, com uma primeira linha contendo UMA das strings e uma segunda linha contendo a OUTRA string

    De qualquer forma, vou te dar a solução para os dois casos A) e B ;-))


    Inicialmente, quando construí esses dois regexes, para os casos A) et B) , testei-os em uma dúzia ou mais de arquivos e, infelizmente, notei que, quando o arquivo atual é digitalizado, tem um tamanho importante , o regex pode causar um retrocesso catastrófico , terminando com uma correspondência global incorreta do conteúdo completo deste arquivo :-((

    Como ainda não consegui descobrir outras regexes corretas , o que poderia evitar a falha na pesquisa , decidi, então, aproveitar um novo recurso do N++, implementado desde a versão 6.9.2 : A nova opção Find in this finder… , quando você clica com o botão direito dentro do painel Find result !

    Então, divido o problema em duas partes:

    • Em primeiro lugar, imprima apenas as linhas de cada arquivo digitalizado, que contenham a string Word1 e/ou Word2 , no painel Find result

    • Em segundo lugar, a partir dessa lista restrita encontrada , use meus regexes originais para obter os resultados corretos !


    Então, siga estas etapas preliminares , abaixo:

    • Abra a caixa de diálogo Localizar em arquivos ( Ctrl + Shift + F )

    • Digite, no campo Localizar :, o regex simples(?-i)Word1|Word2

    • Digite, no campo Substituir por , o regex $0( SEGURANÇA ! )

    • Digite, no campo Filtros , sua lista de arquivos a serem verificados

    • Digite, no campo Diretório :, o caminho absoluto da pasta, contendo seus arquivos

    • Clique no botão Localizar tudo

    => O painel Find result deve aparecer, com todas as linhas em questão , de todos os seus arquivos a serem verificados !

    Observações :

    • O (?-i)modificador força a pesquisa regex a ser executada de maneira sensível . Use, em vez disso, a (?i)sintaxe, se preferir fazer a busca, de forma insensível !

    • Embora estejamos apenas procurando algo, e não substituindo nada, é um bom hábito, sempre , colocar o formulário $0, que representa a string correspondente atual completa . De fato, suponha que você clicou, por engano, no botão Substituir nos arquivos e que você confirmou a substituição, clicando no botão OK do diálogo de validação , este S/R simplesmente substituiria qualquer string correspondente por esta mesma string :-)) Muito à vontade, não é?


    Agora, vamos explorar o texto restrito do painel Find result :

    Caso A) :

    Esta pesquisa regex procura a última linha, no painel Find result , contendo, indiferentemente , a string Word1 ou Word2 , nesse caso EXATO :

    • Clique com o botão direito do mouse, dentro do painel Find result , e escolha a opção Find in this finder…

    • No campo Localizar :, digite(?s-i).*\K(?:Word1|Word2)

    • Marque a opção Pesquisar apenas nas linhas encontradas

    • Desmarque a opção Corresponder apenas à palavra inteira

    • Selecione o modo de pesquisa de expressão regular

    • Clique no botão Localizar tudo

    => Um segundo painel “Localizar resultado” aparece, com a indicação - Modo de filtro de linha: exibe apenas os resultados filtrados . Este novo painel deverá conter, apenas, UMA linha, por arquivo, com, indiferentemente , a string Word1 ou a string Word2 !

    Observações :

    • A primeira parte, (?s-i).*, procura qualquer quantidade, mesmo vazia ou multilinhas , de qualquer caractere ( padrão ou EOL ) até a última ocorrência, no arquivo, da string Word1 ou Word2 , com seu caso exato , armazenado em um arquivo não - grupo de captura(?:...|...)

    • Devido à \Ksintaxe, o local da correspondência regex é redefinido e o mecanismo regex corresponde apenas à string Word1 ou Word2


    Caso B) :

    Esta pesquisa regex procura as DUAS últimas linhas, no painel Find result , contendo a string Word1 , primeiro, então, a string Word2 OU a string Word2 , primeiro, então, a string Word1 , e tudo, nesse caso EXATO :

    • Selecione, novamente, o painel de resultados MAIN Find ( IMPORTANTE )

    • Clique com o botão direito do mouse, dentro, e escolha, novamente, a opção Localizar neste localizador…

    • No campo Localizar :, digite o regex(?s-i).*\K(?:(Word1)(?=.*(?2))|(Word2)(?=.*(?1)))|.*\K(?:(?1)|(?2))

    • Marque a opção Pesquisar apenas nas linhas encontradas

    • Desmarque a opção Corresponder apenas à palavra inteira

    • Selecione o modo de pesquisa de expressão regular

    • Clique no botão Localizar tudo

    => Um terceiro painel “Localizar resultado” aparece, com a indicação - Modo de filtro de linha: exibe apenas os resultados filtrados . Este novo painel deve conter DUAS linhas, por arquivo, com, para cada arquivo:

    • Uma primeira linha, contendo a string Word1 e uma segunda linha, contendo a string Word2 , nesse caso exato

    OU

    • Uma primeira linha, contendo a string Word2 e uma segunda linha, contendo a string Word1 , nesse caso exato

    NOTAS :

    • Se um arquivo digitalizado contiver a string Word1 ou Word2 , APENAS, essa ocorrência única também será gerada !

    • Essa regex de busca é bastante difícil de entender, pois utiliza algumas expressões, chamadas de chamadas de sub-rotinas (?n) , que apontam, por referência , para os grupos 1 e 2 . Não é fácil explicar corretamente este regex! Comecei com o regex mais simples , abaixo:

    (?s-i).*\K(?:Word1(?=.*Word2)|Word2(?=.*Word1))|.*\K(?:Word1|Word2)

    • Depois de combinar o intervalo mais longo de qualquer caractere, que é esquecido devido à \Ksintaxe, o mecanismo regex tenta encontrar:

      • A string Word1 , SOMENTE SE for seguida , adiante , da string Word2 ( case C )
        OU
        - A string Word2 , SOMENTE SE for seguida , adiante , da string Word1 ( case D )
    • Então, depois de combinar, novamente, um intervalo mais longo de qualquer caractere, que é redefinido , devido ao \Kformulário, o mecanismo regex tenta, desta vez, encontrar:

      • A outra string Word2 (caso C )
        OU
      • A outra string Word1 (caso D )

    O inconveniente deste regex (?s-i).*\K(?:Word1(?=.*Word2)|Word2(?=.*Word1))|.*\K(?:Word1|Word2)é que você deve repetir as duas strings, para procurar, três vezes para fazer o regex geral funcionar! Ao usar algumas chamadas de sub -rotina , precisamos inserir essas duas strings apenas UMA VEZ , em vez de três vezes!

    Resumindo, a sintaxe (?n) de uma chamada de sub-rotina , representa o conteúdo exato do grupo n , que pode estar localizado, antes , ou depois , de sua referência (?n]. Então :

    • (?1)é equivalente ao grupo 1 ,(Word1)

    • (?2)é equivalente ao grupo 2 ,(Word2)

    Portanto, da forma regex original(?s-i).*\K(?:Word1(?=.*Word2)|Word2(?=.*Word1))|.*\K(?:Word1|Word2) , podemos mudar a regex para esta final , abaixo, que é tão correta quanto a outra, embora um pouco mais difícil de entender :-(. Porém, você só precisará escrever as duas strings para pesquisar, apenas UMA VEZ !

    (?s-i).*\K(?:(Word1)(?=.*(?2))|(Word2)(?=.*(?1)))|.*\K(?:(?1)|(?2))

    Cumprimentos,

    cara038

    Informações adicionais :

    1) Com relação à nova opção Localizar neste localizador do painel de resultados da pesquisa :

    • Se você NÃO marcar a opção Pesquisar apenas nas linhas encontradas , a pesquisa será realizada em todo o conteúdo dos diferentes arquivos , listados no painel de resultados da pesquisa

    • se você marcar a opção Pesquisar apenas nas linhas encontradas , a pesquisa será realizada, APENAS, em todas as linhas listadas no painel Resultado da pesquisa


    2) A principal diferença entre uma chamada de sub-rotina e uma referência inversa é que:

    • Uma referência anterior \n refere-se ao valor presente do grupo n

    • Uma chamada de sub-rotina (?n) refere-se ao modelo atual do grupo n

    Então, se considerarmos essas quatro linhas:

    123 ABC 123
    123 ABC 789
    789 ABC 123
    789 ABC 789
    

    O regex (\d+) ABC \1corresponderia às linhas 1 e 4 , enquanto o regex (\d+) ABC (?1)corresponderia às quatro linhas

    Em outras palavras, os regexes (\d+) ABC (?1)e (\d+) ABC (\d+)são estritamente equivalentes


    3) Observe que, quando uma chamada de sub-rotina é utilizada DENTRO de seu grupo, ao qual se refere , torna-se uma referência recursiva de sub-padrão :

    • Por exemplo, no regex: (\{[^\{\}]+\}(?1)?), o grupo 1 é o regex geral , que contém sua referência (?1) . Assim (?1)é uma referência de subpadrão recursiva

    • Mas, na regex (\{[^\{\}]+\})(?1)?, o grupo 1 é (\{[^\{\}]+\})e sua referência (?1) , localizada fora do grupo 1 , é apenas uma chamada de sub-rotina

    Esses dois regexes procuram, ou uma única string {....}cercada por chaves ou duas strings consecutivas{....}{....}

    Você pode testar esses regexes, com o texto de exemplo , que contém uma quantidade bem equilibrada de chaves :

     {This}{is}{a small}{text}{{in order{to {test}{this}}}{{regex}}}

    []

    Valeu a informação.

    Sds

    Sphgf

  • Like 1
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...