Mencoba mencari-ganti dalam Visual Studio Code, saya menemukan bahwa rasanya Regex berbeda dari Visual Studio penuh. Secara khusus, saya mencoba untuk mendeklarasikan grup bernama string (?<p>[\w]+)
yang bekerja di Visual Studio tetapi tidak dalam Visual Studio Code. Itu akan mengeluh dengan kesalahan Invalid group
.
Terlepas dari menyelesaikan masalah khusus ini, saya mencari informasi tentang rasa Regex dalam Visual Studio Code dan di mana menemukan dokumentasi tentang hal itu, jadi saya dapat membantu diri sendiri dengan pertanyaan lain yang mungkin saya temui.
Full Visual Studio menggunakan .NET Regular Expressions seperti yang didokumentasikan di sini . Tautan ini disebutkan sebagai dokumentasi untuk Kode VS di tempat lain di Stackoverflow, tetapi tidak.
[^]
pola sebagai simbol yang cocok. Jadi, jelas itu adalah mesin JS regex.Jawaban:
Rust Regex di Bilah Sisi Cari / Ganti File
Rob Lourens dari MSFT menulis bahwa pencarian file menggunakan Rust regex. The Rust dokumentasi bahasa menggambarkan sintaks.
JavaScript Regex di Find / Replace in File Widget
Alexandru Dima dari MSFT menulis bahwa widget find menggunakan JavaScript regex. Seperti komentar Wicktor, dokumentasi ECMAScript 5 menjelaskan sintaksis. Begitu juga dengan Panduan Ekspresi Reguler JavaScript MDN .
Uji Perbedaannya
Temuan di sidebar file tidak mendukung
(?=foobar)
sedangkan find di widget file tidak mendukung sintaks lookahead.Mengenai Temukan / Ganti dengan Grup
Untuk mencari / ganti dengan kelompok, penggunaan tanda kurung
()
untuk kelompok dan$1
,$2
,$3
,$n
untuk menggantikan.Berikut ini sebuah contoh.
Sebelum:
Setelah:
sumber
Jawaban Shaun masih benar, namun untuk menambahkan pembaruan, baru-baru ini VS Code menambahkan opsi untuk memilih menggunakan mesin PCRE2 berbasis Perl . Anda dapat mengaktifkan ini melalui konfigurasi pengaturan Anda.
Ini memungkinkan Anda untuk melakukan operasi regex yang lebih canggih seperti lookaheads dan backreferences . Tetapi seperti disebutkan di bawah, regex masih harus merupakan regex JavaScript yang valid .
Dan untuk bonus jika Anda berakhir di sini mencoba melakukan pencarian multi-jalur, VS Code baru-baru ini menambahkan fitur itu juga !
sumber