Инвертировать совпадение регулярного выражения в TextMate

1007
luciano

У меня есть эта строка:

goose goose goose random goose goose test goose goose goose 

Я использую регулярное выражение в TextMate, чтобы найти любое слово, которое не является goose. поэтому randomи test.

Итак, я попробовал это регулярное выражение:

[^\sgoose\s] 

Но это не совсем то, что я хочу. Это соответствует любому символу, который не является spaceбуквой или g o s e.

Как я могу найти получить регулярное выражение, чтобы соответствовать любое целое слово, которое не goose? Поэтому должно быть 2 матча randomи test.

1

1 ответ на вопрос

3
Toto

Не уверен, что он будет работать с TextMate (у меня его нет, но я тестировал с Notepad ++).

Вы можете попробовать:

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

Объяснение:

\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 

Похожие вопросы