Visual Studio-Suche: Suchen eines Wortes, jedoch nicht, wenn ein bestimmtes Wort vorangestellt ist [Duplikat]
Zum Beispiel versuche ich, alle Instanzen von "Hund", aber nicht den "Hund" in "Hot Dog" in einer Textdatei mit der Textsuche von Visual Studio zu finden. Ich fand eine ähnliche Frage und versuchte ihre akzeptierte Antwort.
\w+(?<!hot) dog
Es schließt "Hot Dog" aus, aber das Problem ist, dass es für alle möglichen Kombinationen für andere Fälle übereinstimmt. Das heißt, für "Jagdhund" muss ich siebenmal auf "Nächste suchen" klicken, um zur nächsten Instanz zu gelangen, da VS für alle folgenden Teile dieser einen Instanz stoppt.
hunting dog
unting dog
nting dog
ting dog
ing dog
ng dog
g dog
Außerdem stimmt es nicht mit dem Wort überein, wenn ihm nichts vorangestellt ist (das erste Wort). Wie kann ich den Ausdruck ändern?

Antworten
Die Frage ist nicht ganz klar. Wenn Sie das Wort "Hund" finden möchten, müssen Sie bei der Suche nur das Wort angeben. Wenn Sie das vorherige Wort + Hund finden möchten, verwenden Sie
\b\w+\s+dog
Um das Wort "heiß" auszuschließen
(?<!hot )\bdog
Versuchen Sie Muster (?!<hot )dog
Mustererklärung:
(?!<hot )
- negatives Aussehen - behaupten, was vorhergeht, ist nicht hot
dog
- dog
buchstäblich übereinstimmen
Demo