VS Code Localizar no arquivo atual: Regular Expressions

1

Isso é localizar e substituir o problema no Código VS.

Eu quero encontrar o seguinte texto no meu arquivo Markdown no código VS:

## [](https://www.website.com/)Heading

e substitua por este texto

 ## [Heading](https://www.website.com/)

Então eu uso ## \[]\(.+?\)(.*) para encontrar as expressões. Mas, para substituir a expressão acima, digitei ## [$1]\(.+?\)(.*) , mas não funciona. Como posso fazer isso? A expressão regular não funciona em substituição?

    
por Nikhil 22.05.2018 / 22:40

1 resposta

0

Para manipular a ordem das partes da string, uma das abordagens é capturar primeiro a string inteira com todas as respectivas partes.

Vamos ver a imagem abaixo. Cada parte da string é mapeada para um grupo numerado. Existem 6 deles neste exemplo. Ter todas as partes capturadas como grupos permite controlar com precisão a seção de substituição.



No código VS, ficaria assim:
Localizar: (##)(\s+)(\[)(\])(\(.*?\))(Heading)
Substitua: $1$2$3$6$4$5
INPUT
## [](https://www.website.com/)Heading
OUTPUT
## [Heading](https://www.website.com/)

Vamos tentar algo mais geral:
Localizar: (##)(\s+)(\[)(\])(\(.*?\))([^^]+)
Substitua: $1$2$3$6$4$5
INPUT
## [](https://www.website.com/)Heading e ## [](https://www.website2.com/)Heading2 e ## [](https://www.website3.com/)Heading3
OUTPUT
## [Heading](https://www.website.com/) e ## [Heading2](https://www.website2.com/) e ## [Heading3](https://www.website3.com/)

    
por 23.05.2018 / 10:48