我对正则表达式缺乏经验,但我需要做的是匹配一个URL才能正确路由它。例子:
/2013/06/article-title
/2013/06
/2013
我需要检查所有可能的路径。我做了一些研究,发现了一些关于检查确切长度的信息。但是当我尝试修改它以供我自己使用时,它会返回false。
这是我最简单的方法:
^\\~/([0-9]{4})$
有什么想法吗?感谢。
供参考,以下是试图匹配它的代码:
string url = HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath;
Regex r = new Regex(regexp, RegexOptions.IgnoreCase);
m = r.Match(url);
return m.Success;
答案 0 :(得分:1)
您可以将此组与(?:..)
组和使组成为可选的问号一起使用:
^/[0-9]{4}(?:/[0-9]{2}(?:/[\w-]+)?)?$