using System;
using System.Linq;
using System.IO;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var s = "Match word but not word1, w1ord or word!";
var res_linq = s.Split().Where(x => x.All(c => (c >= 65 && c <= 90) || c >=97 && c<= 122));
Console.WriteLine(string.Join(";", res_linq));
// REGEX
var res_regex = Regex.Matches(s, @"(?<!\S)[a-zA-Z]+(?!\S)").Cast<Match>().Select(m=>m.Value);
Console.WriteLine(string.Join(";", res_regex));
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CgkJdmFyIHMgPSAiTWF0Y2ggd29yZCBidXQgbm90IHdvcmQxLCB3MW9yZCBvciB3b3JkISI7CgkJdmFyIHJlc19saW5xID0gcy5TcGxpdCgpLldoZXJlKHggPT4geC5BbGwoYyA9PiAoYyA+PSA2NSAmJiBjIDw9IDkwKSB8fCBjID49OTcgJiYgYzw9IDEyMikpOwoJCUNvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCI7IiwgcmVzX2xpbnEpKTsKCQkvLyBSRUdFWAoJCXZhciByZXNfcmVnZXggPSBSZWdleC5NYXRjaGVzKHMsIEAiKD88IVxTKVthLXpBLVpdKyg/IVxTKSIpLkNhc3Q8TWF0Y2g+KCkuU2VsZWN0KG09Pm0uVmFsdWUpOwogICAgICAgIENvbnNvbGUuV3JpdGVMaW5lKHN0cmluZy5Kb2luKCI7IiwgcmVzX3JlZ2V4KSk7Cgl9Cn0=