Notepad ++ Localizar e substituir (com expressão regular)

0

Estou enlouquecendo com um problema estranho, estou tentando encontrar este texto:

CREATE Proc [dbo].[procName] (@EMI_ID numeric(8), @ESYNTH_ID numeric(8), @FLD_ID numeric(8), @SYNTH_ID numeric(8)) As

E eu uso essa regex:

CREATE Proc \[dbo\]\.\[(.+)\] \(@EMI_ID numeric\(8\), @ESYNTH_ID numeric\(8\), @FLD_ID numeric\(8\), @SYNTH_ID numeric\(8\)\) As

No "encontrar"
No entanto, isso não vai funcionar, mas se eu tentar corresponder com apenas esta regex (o mesmo que acima, mas sem o último parâmetro proc armazenado):

CREATE Proc \[dbo\]\.\[(.+)\] \(@EMI_ID numeric\(8\), @ESYNTH_ID numeric\(8\), @FLD_ID numeric\(8\),

Funciona sem problemas.

Eu também tentei usar o Find and Replace do TextFX sem sucesso.
Por favor ajude, a loucura me consome!

Obrigado;)

    
por Louis Kottmann 02.04.2012 / 17:09

2 respostas

3

yup seu regex está correto.

mas notepad ++ parece estar em meus testes limitados a 103 caracteres, string regex.

CREATE Proc \[dbo]\.\[(.+)\] \(@EMI_ID numeric\(8\), @ESYNTH_ID numeric\(8\), @FLD_ID numeric\(8\), @S

testado e encontrado em vários arquivos de texto que eu criei.

espero que isso ajude.

    
por 02.04.2012 / 18:06
2

Embora não seja o regex mais legal, seu primeiro regex deve corresponder à string de destino. Isso é uma falha no Notepad ++.

Acho O Bloco de Notas de um Programador para ser um editor de texto melhor e, de fato, seu regex funciona neste programa

    
por 02.04.2012 / 17:18