需要有关正则表达式的帮助

时间:2010-11-05 00:05:08

标签: asp.net regex

您好我正在尝试修正一个带有字符串的正则表达式并确保它以'R'开头,然后是4位数字然后是

例如。 RXXXX .................

有人可以帮我这个吗?这适用于ASP.NET

4 个答案:

答案 0 :(得分:2)

应该这样做......

^R\d{4}.*$
  • \d{4}匹配4位数字
  • .*只是一种匹配任何字符0次或更多次的方法
  • 开始^和结束$锚点确保没有任何内容在此之前或之后

正如文森特建议的那样,对于你的具体任务,它甚至可以简化为......

^R\d{4}

因为正如你所说的那样,接下来并不重要。

答案 1 :(得分:2)

您希望它位于行的开头,而不是任何地方。此外,为了提高效率,您最后不希望.+.*,因为这将匹配不必要的字符。所以下面的正则表达式是你真正想要的:

^R\d{4}

答案 2 :(得分:0)

/^R\d{4}.*/并设置不区分大小写的选项,除非您只需要大写R的

答案 3 :(得分:0)

^R\d{4}.*
  • 插入符号^匹配字符串中第一个字符前的位置。
  • \d匹配任何数字字符(与[0-9]相同)
  • {4}表示必须有4个数字,
  • .*匹配0个或更多其他字符

使用:

    string input = "R0012 etc..";

    Match match = Regex.Match(input, @"^R\d{4}.*", RexOptions.IgnoreCase);

    if (match.Success)
    {
       // Success!
    }

注意使用RexOptions.IgnoreCase来忽略字母R的情况(因此它将匹配以r开头的字符串。如果您不想进行不区分大小写的匹配,请将其保留。