Como combinar todas as ocorrências após outra correspondência?
Por exemplo: quero substituir tudo -
depois abc
por espaço.
Entrada:
one-two-abc-three-four-five
six-seven-abc-eight-nine-ten
...
Resultado:
one-two-abc three four five
six-seven-abc eight nine ten
...
Em Javascript é possível usar este regex: (?<=(.+abc.+))-
, mas Positive Lookbehind
parece não ser suportado no Notepad++
Obrigado.
PS: Fique à vontade para corrigir o título. Fiz o meu melhor, mas não sou falante nativo.
Isso funcionará com qualquer número de hifens na string.
(?:^.*abc|\G[^-\r\n]+)\K-
. matches newline
Explicação:
Captura de tela (antes):
Captura de tela (depois):
Eu encontrei esta solução.
Estas advertências que você precisa estar ciente:
-
são após a última ocorrência deabc
.(-([^-]*))?
parte do regex é repetida igualmente ou mais do que o máx. contagem de-
em uma única linha.-
ocorrências do que a(-([^-]*))?
contagem no regex$
a expressão de substituição começa em 1 e é +2 para cada(-([^-]*))?
ocorrência.Experimente este regex online em https://regex101.com/r/BRJjEx/1