Jak podzielić frazę na słowa za pomocą Regex w C #

Próbuję podzielić zdanie / wyrażenie na słowa za pomocą Regex.

<code>var phrase = "This isn't a test.";
var words = Regex.Split(phrase, @"\W+").ToList();
</code>

słowa zawierają „This”, „isn”, „t”, „a”, „test”

Oczywiście to odbiera apostrof i dzieli się na to. Czy mogę zmienić to zachowanie? Musi być także wielojęzyczny, obsługujący różne języki (hiszpański, francuski, rosyjski, koreański itd.).

Muszę przekazać słowa do sprawdzającego pisownię. W szczególności Nhunspell.

<code>return (from word in words let correct = _engine[langId].Spell(word) where !correct select word).ToList();
</code>

questionAnswers(8)

yourAnswerToTheQuestion