Notepad++ - Como posso pesquisar (por linha) até um determinado caracter (nessa linha)?

Notepad++ - Como posso pesquisar (por linha) até um determinado caracter (nessa linha)?

Eu tenho várias linhas que se parecem

\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 [para {pelo meu próprio código.

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

  • {énãono final da linha.

Já encontrei (aqui) e tentei coisas como ^\\node.*\{or \\node.*\{, mas ambos produzem o mesmo resultado insatisfatório: todo o código até o último {do documento fica marcado.

Responder1

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

Como é garantido que o fragmento esteja no início da linha, você pode usar uma ^âncora circunflexa ( ).

O seguinte funciona para mim:

Encontrar: ^\\node\[[^{]*\{; Substituir com:\\node[test{

As ^âncoras para o início da linha. \\node\[corresponde ao texto \node[, após escapar para caracteres especiais. [^{]*pega todos os caracteres, exceto uma chave aberta. (Observe que aqui {não precisa ser escapado porque está em uma classe de personagem.) Em seguida, \{pega a própria chave aberta.


Se ... Some code here ... pode conter colchetes:

Encontrar: ^\\node\[.*\{([^{]*)$; Substituir com:\\node[test{$1

A primeira parte é a mesma. Então, .*combinará tantos caracteres quanto possível. \{corresponde a uma chave de abertura e, em seguida, ([^{]*)$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 {da linha.

Responder2

Na caixa de diálogo Pesquisar/Substituir, usando Localizar:nó[.*{e substitua por:nó[teste{substitui com sucesso...Algum código aqui...comtesteem cada linha.

Você precisa especificar as seguintes opções:

  • NÃO marque "Envolver"
  • Marque "Expressão regular"
  • NÃO marque ".corresponde à nova linha" insira a descrição da imagem aqui

informação relacionada