Regelmäßige Ausdrucksübereinstimmung in TextMate umkehren

1

Ich habe diese Zeichenfolge:

goose goose goose random goose goose test goose goose goose

Ich verwende reguläre Ausdrücke in TextMate, um nach Wörtern zu suchen, die nicht vorhanden sind goose. deshalb randomund test.

Also habe ich diesen regulären Ausdruck ausprobiert:

[^\sgoose\s]

Aber das macht nicht ganz das, was ich will. Es passt zu jedem Zeichen, das weder ein spacenoch Buchstaben ist g o s e.

Wie finde ich, dass der reguläre Ausdruck mit einem ganzen Wort übereinstimmt, das nicht goosestimmt? Daher sollte es 2 Treffer geben randomund test.

Luciano
quelle

Antworten:

3

Ich bin nicht sicher, ob es mit TextMate funktioniert (ich habe es nicht, aber ich habe es mit Notepad ++ getestet).

Du könntest es versuchen:

\b(?:(?!goose)\w)+\b

Erläuterung:

\b          : word boundary
(?:         : start non capture group
  (?!goose) : negative lookahead, make sure we don't have the word "goose"
  \w        : a word character, you may use "[a-zA-Z]" for letters only or "." for any character but newline
)+          : group may appears 1 or more times
\b          : word boundary
Toto
quelle