none
Grupos demais em uma Regex RRS feed

  • Pergunta

  • Olá,

    Preciso de uma Regex que retorne grupos de 5 linhas que contém 2 ou mais hifens.

    Tenho o seguinte texto:

    \r\n         \r\n                                                 \r\n\r\n         \r\n -------------- -------------- -------------- -------------- \r\n -------------- -------------- -------------- -------------- \r\n -------------- -------------- -------------- -------------- \r\n --- ----------------  ------ \r\n -------------- -------------- -------------- -------------- \r\n             \r\n                 \r\n                       \r\n\r\n                                   \r\n                   \r\n

    E a seguinte Regex:

    ([^\r\n]*-{2,}[^\r\n]*\r\n){5}

    Tá funcionando direitinho, só que quando consulto os grupos de correspondência (match.Groups) tem um grupo a mais, que é na verdade um subgrupo igual à ultima linha do primeiro grupo.

    O que estou fazendo de errado?

    Se tenho só uma sequência de 5 linhas com ao menos 2 hifens, porque ele tá trazendo esse subgrupo? Não quero isso.

    Desde já agradecido,

    Luiz Fernando Cruz

    terça-feira, 8 de outubro de 2013 17:50

Respostas

  • Luiz,

    Isto ocorre porque você esta repetindo no seu RegEx 5x o "\r\n", ou seja, equivalente à 5 "returns" o que cria 6 linhas.


    Espero que seja útil para você.

    Abraços,

    Durval Ramos
     Microsoft Partner
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quinta-feira, 10 de outubro de 2013 01:33

Todas as Respostas

  • Luiz,

    Isto ocorre porque você esta repetindo no seu RegEx 5x o "\r\n", ou seja, equivalente à 5 "returns" o que cria 6 linhas.


    Espero que seja útil para você.

    Abraços,

    Durval Ramos
     Microsoft Partner
    ----------------------------------
    Se foi resolvido clique "Marcar como resposta" e se foi útil "Votar como Útil"
    quinta-feira, 10 de outubro de 2013 01:33
  • Obrigado!
    quinta-feira, 10 de outubro de 2013 01:36