1

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

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

Не уверен, что он будет работать с 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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .