Visual Studio Araması: bir kelimeyi bulma, ancak önünde belirli bir kelime [yineleme] olduğunda bulamama
Örneğin, Visual Studio'nun metin aramasıyla bir metin dosyasında "köpek" in tüm örneklerini bulmaya çalışıyorum, ancak "sosisli sandviç" içindeki "köpek" i bulmaya çalışmıyorum. Benzer bir soru buldum ve kabul edilen cevabını denedim.
\w+(?<!hot) dog
"Hot dog" u hariç tutar, ancak sorun, diğer durumlar için tüm olası kombinasyonlarla eşleşmesidir. Yani, "av köpeği" için, sonraki örneğe geçmek için "Sonrakini bul" u 7 kez tıklamam gerekiyor, çünkü VS, bu tek örneğin aşağıdaki bölümlerinin tümü için durur.
hunting dog
unting dog
nting dog
ting dog
ing dog
ng dog
g dog
Ayrıca, önünde herhangi bir şey yoksa (ilk kelime) kelimeyle eşleşmez. İfadeyi nasıl değiştirebilirim?
Yanıtlar
Soru tamamen net değil. "Köpek" kelimesini bulmak istiyorsanız, aramada yalnızca onu belirtmeniz gerekir. Önceki kelimeyi bulmak istiyorsanız + köpeği kullanın
\b\w+\s+dog
"Sıcak" kelimesini hariç tutmak için
(?<!hot )\bdog
Deseni dene (?!<hot )dog
Desen açıklaması:
(?!<hot )
- olumsuz arkaya bak - öncekinin olmadığını ileri sür hot
dog
- dog
tam anlamıyla eşleştir
Demo