notepad ++ regex procura e substitui

1

Estou tentando superar isso:

1200        PORTAL  oracle  29489   17:57   48 username cell single block physical read 2

para isso:

EXEC SYS.KILLSID (1200,29489,2)

    
por redninam 22.11.2017 / 00:52

2 respostas

1

find ^(\d{1,4}) [^\d]\*(\d{4,5}) .*(\d)$
replace EXEC SYS.KILLSID (,,)
    
por 22.11.2017 / 01:10
1
  • Ctrl + H
  • Encontre o que: ^(\d{1,4})\D+(\d{4,5}).+(\d)$
  • Substituir por: EXEC SYS.KILLSID \($1,$2,$3\)
  • check Embrulhe
  • verificar expressão regular
  • NÃO VERIFIQUE . matches newline
  • Substituir todos

Explicação:

^           : begining of line
  (\d{1,4}) : group 1, 1 to 4 digits
  \D+       : 1 or more non digits
  (\d{4,5}) : group 2, 4 or 5 digits
  .+        : 1 or more any character but newline
  (\d)      : group 3, 1 digit
$           : end of line

Substituição:

EXEC SYS.KILLSID    : literally
\(                  : open parenthesis, in Npp, it has to be escaped
  $1                : content of group 1
  ,                 : a comma
  $2                : content of group 2
  ,                 : a comma
  $3                : content of group 3
\(                  : close parenthesis, in Npp, it has to be escaped

Resultado para o exemplo dado:

EXEC SYS.KILLSID (1200,29489,2)
    
por 22.11.2017 / 12:21