VS Code Найти в текущем файле: Регулярные выражения

1131
Nikhil

Это найти и заменить проблему в VS Code.

Я хочу найти следующий текст в моем файле Markdown в VS Code:

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

и заменить этим текстом

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

Поэтому я использую, ## \[]\(.+?\)(.*)чтобы найти выражения. Но для замены приведенным выше выражением я набрал это, ## [$1]\(.+?\)(.*)но это не работает. Как я могу это сделать? Регулярное выражение не работает вместо?

1
Сначала убедитесь, что часть работы работает, как ожидалось. Для замены вы можете использовать ссылку для захвата групп из части поиска, например: `## [$ 1] ($ 2)` Máté Juhász 5 лет назад 0

1 ответ на вопрос

0
wlod

Чтобы манипулировать порядком частей строки, один из подходов состоит в том, чтобы сначала захватить всю строку со всеми соответствующими частями.

Давайте посмотрим на скриншот ниже. Каждая часть строки сопоставляется с пронумерованной группой. В этом примере их 6. Сбор всех частей в группы позволяет точно контролировать раздел замещения. В VS Code это будет выглядеть так: Найти: Заменить: ВЫХОД ВХОДА Давайте попробуем что-то более общее: Найти: Заменить: ВЫХОД ВХОДА

enter image description here


(##)(\s+)(\[)(\])(\(.*?\))(Heading)
$1$2$3$6$4$5

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

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


(##)(\s+)(\[)(\])(\(.*?\))([^^]+)
$1$2$3$6$4$5

## [](https://www.website.com/)Heading
## [](https://www.website2.com/)Heading2
## [](https://www.website3.com/)Heading3

## [Heading](https://www.website.com/)
## [Heading2](https://www.website2.com/)
## [Heading3](https://www.website3.com/)