将正则表达式值匹配到精确的长度,多个组

本文关键字:正则表达式 | 更新日期: 2023-09-27 18:18:42

我在正则表达式方面相当缺乏经验,但我需要做的是匹配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-9]{4}(?:/[0-9]{2}(?:/['w-]+)?)?$