ProjectSoft, что-то ты намудрил с регекспом. К тому же он у тебя ещё и неверный.
Если сократить: /\S*?соус\S*\s*/ig
А если ещё и мусор убрать: /\s*соус\S*\s*/ig
Но это всё равно некорректный регексп будет для данной задачи.
ProjectSoft, что поправил? У тебя "подсоусом" спокойно проходит.
Но раз ты так настаиваешь, то ладно, ты очень плох в регекспе, что вот это за говно вообще? (?:[^\s]+)? Это равняется \S*. И так далее.
ProjectSoft, пробел "до" ты тоже не учитываешь. А то, что ты ловишь все слова с приставками, говорит лишь о том, что ты будешь ловить вообще все слова, в которых появляется искомая подстрока. Кстати, знаки препинания перед словом ты тоже не учитываешь.
Раз написал хрень, так будь добр учесть это и хотя бы нее допускать аналогичные ошибки в будущем.
Данные ответы в комментах несовсем верные. Во-первых, флаг i для нелатинских букв бесполезен.upd.: моя ошибка, в жсе i работает с нелатинскими символами.
Во-вторых, даже без учёта регистра, они не учитывают все варианты.