0

我对正则表达式相当缺乏经验,但我需要做的是匹配一个 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;
4

1 回答 1

1

您可以将其与(?:..)使组可选的组和问号一起使用:

^/[0-9]{4}(?:/[0-9]{2}(?:/[\w-]+)?)?$
于 2013-06-17T20:18:31.693 回答