2013-08-27 22:50:27 +0000 2013-08-27 22:50:27 +0000
18
18

Usando a pesquisa/substituição de wildcard no Notepad++

Aqui está o meu problema: Em um . txt, preciso de encontrar e substituir milhares de instâncias de sintaxe como esta:

(ver (a053007djfgspwdf))

(ver (a053007djfgspwdf) e (a54134xsedgegeg))

(ver (a053007djfgspwdf), (a9554xsdfgsdfg) e (a54134xsedgeg))

Há muita variedade entre o início (ver (a* e o final )) cadeias de texto. Isto pode ser configurado no Notepad++ usando regex? Em caso afirmativo, como o faria? Obrigado!

Respostas (5)

18
18
18
2016-03-02 12:14:25 +0000

Desculpem, mas acho que outras respostas são complicadas. (Sem desrespeito pelos posters originais.)

Como este aparece sempre como o primeiro resultado de pesquisa, vou acrescentar isto em:

  1. Abra o diálogo de pesquisa/substituição (CTRL+F e depois o separador de substituição)
  2. Assinale “Regular Expression” no fundo
  3. Use .* como wildcard

Por exemplo, eu queria remover todas as instâncias de abp=“1314”, abp=“1313”, abp=“1312” etc (basicamente os números são todos diferentes, e é por isso que você quer um wildcard para se livrar deles).

No diálogo de substituição:

Encontrar em quê: abp=".*" Substituir por:

(Está a substituir qualquer coisa dentro dessas citações por nada para se livrar dela)

Fonte: https://www.organicweb.com.au/17226/general-technology/notepad-wildcard/

15
15
15
2013-08-27 23:09:56 +0000

Sim, pode! O Notepad++ tem um modo de pesquisa RegEx que pode seleccionar para todas as suas necessidades de substituição RegEx.

O exemplo abaixo é um substituto básico para qualquer coisa entre (see (a...)) com a excepção de uma quebra de linha. Poderá ter de modificar o RegEx ou escrever o seu próprio RegEx de acordo com as suas necessidades. Aqui está ](http://www.regular-expressions.info/tutorial.html) um óptimo lugar para o ajudar juntamente com a experiência.

RegEx: \(see \(a.+\)\)

Cordos combinados:

(see (a053007djfgspwdf))
(see (a053007djfgspwdf) and (a54134xsedgeg))
(see (a053007djfgspwdf), (a9554xsdfgsdfg) and (a54134xsedgeg))

1
1
1
2016-03-24 15:43:35 +0000

Como algumas delas eram demasiado profundas para eu as compreender, deixem-me mostrar-vos o que fiz depois de ler todas estas soluções e muito mais para finalmente conseguir uma melhor compreensão. (esta é uma abordagem simples, talvez não seja a melhor)

Eu queria remover todos os meus figura elementos em toda a página web. Figure 2.1,Figura 1.1,ect.

Era:

<p class="td1-content b8"><span class="stepNumber">2. </span>Select Memo from the toolbar<br><b>Figure 2.1</b></p>

Eu queria que acabasse:

<p class="td1-content b8"><span class="stepNumber">2. </span>Select Memo from the toolbar</p>

Mas cada

tinha um número de figura diferente, por isso utilizei-o no texto sublime 2.

  1. ctrl H
  2. clique no símbolo “.*” no canto inferior direito do texto sublime 2, (regex)
  3. digite <br><b>Figure.*</b>
  4. substitua por: -esquerdo em branco

Isto substituiu todas as minhas instâncias por números. aviso que usei .* onde os números seriam de. Espero que isto ajude.

1
1
1
2013-08-28 16:51:42 +0000

Experimente este padrão: \(see \(a(.*)\) e assegure-se de que tem “. matches newline” desmarcado e “wrap around” verificado.

0
0
0
2013-09-03 05:05:59 +0000

O exacto regex de que necessita é:

\(see \(\w+\)((, \(\w+\))*( and \(\w+\)))?\)

Por exemplo:

Ao seleccionar Find All in Current Document, o resultado seria:

Pode simplesmente utilizar Replace conforme a sua necessidade.

Se pretender incluir o a também no regex, pode utilizar:

\(see \(a\w+\)((, \(a\w+\))*( and \(a\w+\)))?\)