Selecione linhas que contenham algo diferente de 0.00

1

Eu tenho várias linhas em um documento do notepad ++ e quero encontrar todas as linhas que contenham algo diferente de "0,00" Ou seja

Timetaken: 2.39
Timetaken: 1.30
Timetaken: 0.75
Timetaken: 0.00
Timetaken: 0.43

e eu quero encontrar todos aqueles que não têm um valor de 0.00?

Isso é possível com o notepad ++?

    
por Ollie 04.01.2015 / 21:13

4 respostas

2

A resposta atual aceita está errada; ele não corresponderá ao seguinte, embora deva:

Timetaken: 0.0
Timetaken: 0.01
Timetaken: 0.0asdf
foo Timetaken: 0.0 bar
Timetaken: 10.0

Há quatro coisas erradas:

  1. Ele precisa de âncoras ( ^ e $ ) para que ele corresponda apenas ao Timetaken, se for a única coisa em que a linha consiste.

  2. [00] é equivalente a apenas 0 , já que é uma classe de caracteres.

  3. . não é ignorado.

  4. Existe um .* desnecessário.

Então, o regex fixo:

^Timetaken: (?!0\.00)$
    
por 04.01.2015 / 23:38
2

Eu não tenho o Notepad ++ (porque eu só uso o Linux para trabalhos de desenvolvimento) mas eu tentei suas linhas de exemplo no editor de texto Kate e achei a expressão regular a seguir funciona para selecionar apenas linhas que se encaixam no padrão acima, mas não contém "0,00" como valor numérico:

^Timetaken: (?!0\.0+$)([0-9]+\.[0-9]+)$

Esse regex diz:

  • "Timetaken:" aparece imediatamente após o início da linha.
  • O valor "0" seguido por um ou mais zeros até que o final da linha seja não encontrado. (Isso é conhecido como uma declaração lookahead negativa).
  • Um ou mais dígitos são encontrados, seguidos por um ponto, seguido por um ou mais dígitos, até o final da linha.
  • Se o valor numérico não for zero, ele será capturado no grupo um pelo correspondente da regex.

Olhando para a documentação para usar o regex no Notepad ++ , suspeito que esse padrão funcionará bem nesse editor de texto também.

    
por 04.01.2015 / 21:39
0

Pressione Ctrl + f para pesquisar e usar a expressão regular abaixo

Timetaken: (?!.*[0].[00])

Ele encontrará todas as linhas diferentes de "Timetaken: 0.00" e a saída é a seguinte

    
por 04.01.2015 / 22:05
0

Se você tiver outro conteúdo no arquivo além das linhas compartilhadas aqui, poderá usar este regex:

^ (. (?! 0 \ .00)) * $

I.E. se você tem linhas que não começam com o Timetaken:

    
por 05.01.2015 / 01:19