regex substituir com o textpad

5

Eu preciso atualizar um formato de data em um arquivo grande que eu tenho no textpad.

o formato de data é atualmente mm-dd-yyyy e eu preciso torná-lo mm / dd / aaaa

cada linha com uma data começa com um D.

assim: D02-12-2009

Eu tenho a minha parte de pesquisa regex funcionando bem ^ D (. ?) - (. ?) - (. *?) ?, mas a substituição está falhando ao tentar usar $ 1 $ 2 $ 3 para meus valores D $ 1 / $ 2 / $ 3. Está substituindo pelo literal $ 1, $ 2 e $ 3. Eu configurei o textpad para usar o POSIX regex.

Alguma idéia de como capturar os valores e colocá-los na minha parte de substituição?

    
por α CVn 17.12.2009 / 18:08

2 respostas

7

Por favor, use em vez de $1 $2 $3

Encontre o que: D([0-9]+)-([0-9]+)-([0-9]+)

Substituir por: D//

Antes

D02-12-2009
D03-12-2009
D04-12-2009

Depois

D02/12/2009
D03/12/2009
D04/12/2009

Em relação ao agrupamento

Groups a tagged expression to use in replacement expressions. An RE can have up to 9 tagged expressions, numbered according to their order in the RE. The corresponding replacement expression is \x, for x in the range 1-9. Example: If ([a-z]+) ([a-z]+) matches "way wrong", would replace it with "wrong way".

PS: Eu não tenho ideia de por que isso é movido para cá, eu tive que vir aqui pela primeira vez. : -)

    
por 17.12.2009 / 18:25
0

"cada linha com uma data começa com um D". Eu adicionaria " ^ " à expressão find: **^**D([0-9]+)-([0-9]+)-([0-9]+) .
 Não é muito provável que a string ocorra em outro lugar, mas ...

    
por 17.07.2013 / 15:13

Tags