O seguinte excluirá uma linha se seus primeiros 40 caracteres forem idênticos aos de um antigo:
Find what: ((?<=\n)|^)([^\n]{40})([^\n]*\n)(.*\n)?[^\n]*($|\n)
Replace with:
Search Mode: Regular expression
. matches newline: checked
Talvez seja necessário clicar em Replace All
mais de uma vez.
Como funciona
-
((?<=\n)|^)
verifica se o restante da expressão regular é precedido por uma nova linha ou o início do arquivo. -
([^\n]{40})([^\n]*\n)
corresponde aos primeiros 40 caracteres de uma linha (armazenados em) e o restante (armazenado em
).
-
(.*\n)?
é qualquer número de linhas (armazenado em).
-
[^\n]*
é uma linha que começa com os mesmos 40 caracteres. -
($|\n)
verifica se o restante da expressão regular é seguido por uma nova linha ou pelo final do arquivo.
Se esse padrão for encontrado, há uma linha semelhante a .
Ao substituir todos por , essa linha semelhante é excluída.