Используя часть, чтобы пропустить некоторые слова, вы можете использовать и закрепить ^
, чтобы подтвердить начало строки и сопоставить любой символ 0+ раз, не жадный, используя .*?
Затем используйте 2 группы захвата, где часть в середине может быть превращена в группу без захвата:
^.*?\b(full)(?:\s+\S+){0,10}?\s+(amount)\b
Regex demo | C # демо
Например:
String str = @"liable for full amount but only in access of the full amount";
Match m = Regex.Match(str, @"^.*?(full)(?:\s+\S+){0,10}?\s+(amount)");
Console.WriteLine("{0} {1}", m.Groups[1].Value, m.Groups[2].Value);
Результат:
full amount