Regexp: любые символы, кроме последовательности

[^ abc] Любой отдельный символ, кроме: a, b или c

Но как я могу создать регулярное выражение для любых символов, кроме последовательности abc

Итак, что-то вроде этого

"Hello abc awesome world".scan /[^(abc)]+/

Вернет "Hello" и "awesome world".

PS: И речь не идет о разделении строки

Ответ 1

Это называется lookaround, в вашем случае вы захотите использовать негативный просмотр. Я не уверен в точном синтаксисе Ruby, но что-то вроде (?!abc) может работать. Обратите внимание, что поиск не требует ввода, поэтому вам нужно будет следовать этому шаблону, который вы хотите сопоставить. Возможно, (?:(?!abc).)+ - это то, что вы ищете?