Chcę użyć „Znajdź i zastąp” w Visual Studio Code zmienić każde wystąpienie <h1>content</h1>
aby #### content
w dokumencie za pomocą wyrażenia regularnego.
Jak mogę to osiągnąć?
regex
visual-studio-code
Tomek
źródło
źródło
<h4>
z####
a następnie wymienić</h4>
z''
?Odpowiedzi:
Więc Twoim celem jest wyszukanie i zastąpienie?
Według oficjalnego pliku PDF ze skrótami klawiaturowymi programu Visual Studio, możesz nacisnąć Ctrl + Hw systemie Windows i Linux lub ⌥⌘Fna komputerze Mac, aby włączyć narzędzie wyszukiwania i zamiany:
Jeśli chcesz wyłączyć kod, wystarczy wpisać
<h1>
wyszukiwanie i zamienić na####
.Ale jeśli chcesz używać tego regex zamiast, można włączyć ją w ikonie: i użyć wyrażenia regularnego:
<h1>(.+?)<\/h1>
i wymienić na:#### $1
.I jak @tpartee zasugerował, tutaj jest trochę więcej informacji na temat silnika Visual Studio, jeśli chcesz dowiedzieć się więcej:
źródło
Dla początkujących chciałem dodać do zaakceptowanej odpowiedzi, ponieważ kilka subtelności było dla mnie niejasnych:
Aby znaleźć i zmodyfikować tekst (nie całkowicie zastąpić),
W kroku „Znajdź” możesz użyć wyrażenia regularnego z „grupami przechwytywania”, np. Twoje wyszukiwanie mogłoby być
la la la (group1) blah blah (group2)
przy użyciu nawiasów.A następnie w punkcie „Wymiana”, można zwrócić się do grup poprzez przechwytywanie
$1
,$2
etc.Na przykład w tym przypadku moglibyśmy znaleźć odpowiedni tekst z tylko
<h1>.+?<\/h1>
(bez nawiasów), ale umieszczenie nawiasów<h1>(.+?)<\/h1>
pozwala nam odnieść się do dopasowania podrzędnego między nimi, tak jak$1
w kroku zamiany . Chłodny!Uwagi
Aby włączyć Regex w Find Widget, kliknij
.*
ikonę lub naciśnijCmd/Ctrl
Alt
R
$0
odnosi się do całego meczuNa koniec pierwotne pytanie mówi, że zamiana powinna nastąpić „w dokumencie”, więc możesz użyć „Widgetu wyszukiwania” (
Cmd
lubCtrl
+F
), który jest lokalny dla otwartego dokumentu, zamiast „Wyszukaj”, które otwiera większy interfejs użytkownika i przeszukuje wszystkie pliki w projekcie.źródło
Upewnij się, że opcja Dopasuj wielkość liter jest zaznaczona przy opcji Użyj wyrażenia regularnego, więc to pasuje. [AZ] * Jeśli nie wybrano wielkości dopasowania, oznacza to dopasowanie do wszystkich liter.
źródło
Przetestuj tutaj: Regex Storm
Przykład:
Regex:
<option value=".*.">|</option>
Tekst:
Wynik:
źródło