您好我正在尝试修正一个带有字符串的正则表达式并确保它以'R'开头,然后是4位数字然后是
例如。 RXXXX .................
有人可以帮我这个吗?这适用于ASP.NET
答案 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开头的字符串。如果您不想进行不区分大小写的匹配,请将其保留。