Como selecionar linhas contendo (apenas / pelo menos) 3 vírgulas?

1

Eu tenho um documento de texto que contém algumas linhas com 2 vírgulas e algumas linhas com 3 vírgulas.

Eu quero selecionar todas as linhas com 3 vírgulas. Como posso fazer isso?

Aqui está um documento de exemplo:

basb,asbdausd,asduasbd
sdauabs,asbudasud,busadasbu,asduasub
asdbua,asbudsdbu,ubasdub
    
por user432206 27.03.2015 / 19:24

2 respostas

3

Eu acho que isso funciona melhor do que a outra resposta, já que ele combinou linhas com 4 vírgulas.

Claro que isso funciona com qualquer personagem, apenas substitua as vírgulas ...

Se você não quiser corresponder com menos de 3 vírgulas por linha, usei este padrão:

^[^,\n]*((,[^,\n]*){3}$)

Explicação de cada parte deste padrão segue (porque as expressões regulares não são óbvias para mim :-)):

^

No início da expressão reg, significa desde o começo da linha

[^,\n]*

Corresponde a qualquer número de caracteres que não sejam de nova linha ou vírgula

(,[^,\n]*)

Corresponde a uma única vírgula seguida de zero ou mais caracteres que não são vírgula ou nova linha

{3}$

Isso significa encontrar o padrão anterior exatamente três vezes antes do final da linha

((,[^,\n]*){3}$)

Certifique-se de colocar parênteses em volta desta parte para deixar claro o que é repetido três vezes (não o primeiro zero ou mais caracteres que não são uma vírgula ou uma nova linha)

Pode muito bem ser uma maneira mais simples - mas eu tenho testado e tenho certeza que isso funciona perfeitamente na versão atual do notepad ++.

    
por 28.03.2017 / 19:29
1

Use a Pesquisa de expressão regular do Notepad ++ .

Por exemplo, aqui está um RegEx que corresponderá às linhas com pelo menos 3 vírgulas:

.*,.*,.*,

O que basicamente significa encontrar "Qualquer número de caracteres seguido por uma vírgula, seguido por qualquer número de caracteres seguido por uma vírgula, seguido por qualquer número de caracteres, seguido por uma vírgula".

    
por 27.03.2015 / 20:14

Tags