The equivalent of Java Matcher in C# is the Regex.Matches() function. First define the pattern and then call the Regex.Matches().
string pattern = @"\b\w+es\b";
string sentence = "NOTES: Any notes or comments are optional.";
foreach (Match match in Regex.Matches(sentence, pattern, RegexOptions.None, TimeSpan.FromSeconds(1)))
Console.WriteLine("Found '{0}' at position {1}", match.Value, match.Index);
C# documenation on Regex Matches: https://learn.microsoft.com/en-us/dotnet/api/system.text.regularexpressions.regex.matches?view=net-7.0