Notepad ++ - Como posso pesquisar (por linha) até um certo caractere (na linha mencionada)?

0

Eu tenho várias linhas que se parecem com

\node[ ... Some code here ... { ... some more code
\node[ ... Some code here ... { ... some more code
\node[ ... Some code here ... { ... some more code

Em cada linha, gostaria de substituir o código de [ to { pelo meu próprio código.

  • \node está sempre no início de cada linha.

  • { não é no final da linha.

Eu já encontrei (aqui) e tentei coisas como ^\node.*\{ ou \node.*\{ , mas ambos produzem o mesmo resultado insatisfatório: todo o código até o último { no documento ser marcado.

    
por henry 01.07.2014 / 13:14

2 respostas

0

Na verdade, não há problema em ativar o Wrap. Na verdade, sugiro que você faça.

Como o fragmento tem a garantia de estar no início da linha, você pode usar uma âncora de circunflexo ( ^ ).

O seguinte funciona para mim:

Localizar: ^\node\[[^{]*\{ ; Substitua por: \node[test{

O ^ ancora no início da linha. \node\[ corresponde ao texto \node[ , depois de escapar para caracteres especiais. [^{]* pega todos os caracteres, exceto por uma chave aberta. (Note que aqui, { não precisa ser escapado porque está em uma classe de caractere.) Então \{ pega a chave aberta em si.

Se ... Some code here ... puder conter chaves:

Localizar: ^\node\[.*\{([^{]*)$ ; Substitua por: \node[test{$1

A primeira parte é a mesma. Então, .* irá corresponder a tantos caracteres quanto possível. \{ corresponde a uma chave de abertura, então ([^{]*)$ corresponde e captura todos os caracteres até o final da linha. Como [^{] é especificado, ele não corresponderá a nenhuma chave de abertura, portanto, o \{ anterior deve corresponder ao último { na linha.

    
por 17.07.2014 / 15:54
1

Na caixa de diálogo Pesquisar / Substituir, use Localizar: nó [. * { e Substituir por: nó [teste { substitui com êxito ... Alguns codifique aqui ... com teste em cada linha.

Você precisa especificar as seguintes opções:

  • NÃO marque "Wrap around"
  • Marque "Expressão regular"
  • NÃO marque ". corresponde à nova linha"
por 01.07.2014 / 14:07

Tags