Regex ведет себя ленивым, должен быть жадным

Я думал, что по умолчанию мойRegex будет демонстрировать жадное поведение, которое я хочу, но это не в следующем коде:

 Regex keywords = new Regex(@"in|int|into|internal|interface");
 var targets = keywords.ToString().Split('|');
 foreach (string t in targets)
    {
    Match match = keywords.Match(t);
    Console.WriteLine("Matched {0,-9} with {1}", t, match.Value);
    }

Выход:

Matched in        with in
Matched int       with in
Matched into      with in
Matched internal  with in
Matched interface with in

Теперь я понимаю, что мог бы заставить его работать для этого небольшого примера, если бы я просто сортировал ключевые слова по убыванию, но

Я хочу понять, почему это не работает, как ожидалось, иРеальный проект, над которым я работаю, содержит в Regex гораздо больше слов, и важно держать их в алфавитном порядке.

Итак, мой вопрос: почему это лень и как мне это исправить?