using System;
using System.Text.RegularExpressions;
using System.Collections.Generic;
using System.Linq;
public class Test
{
public static void Main()
{
string s = @"some description ` match these_words th_is_wor ` or `THIS_WOR thi_sqw` a `word_snake`";
string pattern = @"`(?:[\p{Zs}\t]*(\w+)[\p{Zs}\t]*)+`";
foreach (Match m in Regex.Matches(s, pattern))
{
string[] result = m.Groups[1].Captures.Select(c => c.Value).ToArray();
Console.WriteLine(String.Join(',', result));
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CnVzaW5nIFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljOwp1c2luZyBTeXN0ZW0uTGlucTsKCnB1YmxpYyBjbGFzcyBUZXN0CnsKCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkKCXsKCQlzdHJpbmcgcyA9IEAic29tZSBkZXNjcmlwdGlvbiBgIG1hdGNoIHRoZXNlX3dvcmRzIHRoX2lzX3dvciBgIG9yIGBUSElTX1dPUiB0aGlfc3F3YCBhIGB3b3JkX3NuYWtlYCI7CgkJc3RyaW5nIHBhdHRlcm4gPSBAImAoPzpbXHB7WnN9XHRdKihcdyspW1xwe1pzfVx0XSopK2AiOwoJICAgIGZvcmVhY2ggKE1hdGNoIG0gaW4gUmVnZXguTWF0Y2hlcyhzLCBwYXR0ZXJuKSkKICAgIAl7CgkgICAgICAgIHN0cmluZ1tdIHJlc3VsdCA9IG0uR3JvdXBzWzFdLkNhcHR1cmVzLlNlbGVjdChjID0+IGMuVmFsdWUpLlRvQXJyYXkoKTsKCSAgICAgICAgQ29uc29sZS5Xcml0ZUxpbmUoU3RyaW5nLkpvaW4oJywnLCByZXN1bHQpKTsKICAgIAl9Cgl9Cn0=