Visual Studio Search: menemukan sebuah kata, tetapi tidak ketika diawali dengan kata tertentu [duplikat]
Misalnya, saya mencoba menemukan semua contoh "anjing", tetapi bukan "anjing" dalam "hot dog" dalam file teks dengan pencarian teks Visual Studio. Saya menemukan pertanyaan serupa dan mencoba jawaban yang diterima.
\w+(?<!hot) dog
Itu mengecualikan "hot dog", tetapi masalahnya adalah itu cocok untuk semua kemungkinan kombinasi untuk kasus lain. Artinya, untuk "anjing pemburu", saya harus mengklik "Temukan berikutnya" 7 kali untuk pindah ke contoh berikutnya, karena VS berhenti untuk semua bagian berikut dari satu contoh itu.
hunting dog
unting dog
nting dog
ting dog
ing dog
ng dog
g dog
Juga, tidak cocok dengan kata, jika tidak diawali dengan apapun (kata pertama). Bagaimana cara mengubah ekspresi?
Jawaban
Pertanyaannya tidak sepenuhnya jelas. Jika Anda ingin menemukan kata "anjing", maka dalam pencarian Anda hanya perlu menentukannya. Jika Anda ingin menemukan kata + anjing sebelumnya, gunakan
\b\w+\s+dog
Untuk mengecualikan kata "panas"
(?<!hot )\bdog
Coba pola (?!<hot )dog
Penjelasan pola:
(?!<hot )
- pandangan negatif - tegaskan apa yang tidak diawali hot
dog
- cocok dog
secara harfiah
Demo