using System; using System.Text.RegularExpressions; public class Test { public static void Main() { string[] strings = { "/api/ping.json", "/api/ping", "/api/ping/xxx/sss.json", "/api/ping.xml", "/api/ping/.json", "/api/pingpong", "/api/ping_pong", "/api/ping-pong" }; string pattern = @"/api/ping(?:(?:/[^/\s]+)*\.\S+|$)"; foreach (String s in strings) { if (Regex.IsMatch(s, pattern)) { Console.WriteLine("Valid: {0}", s); } else { Console.WriteLine("Invalid: {0}", s); } } } }