C# 验证版本号的正则表达式
我需要一个正则表达式来验证版本号 我有4种版本号:C# 验证版本号的正则表达式,c#,regex,C#,Regex,我需要一个正则表达式来验证版本号 我有4种版本号: 2015.1 2015.1.01 2015.1.01.1 2015.1.01.1.RE 第一组:我只需要4个数字 第2组#:正好1个数字 第3组:(1-2)个数字 第4组:(1-4)个数字 第5组:只需RE 我已经尝试了^(\d+\)?(\d+\)、(\d+\)、(\d+\)、(\w+$,但不起作用 string Expressao = @"^(\d+\.)?(\d+\.)?(\d+\.)?(\d+\.)?(\w+)$"; Regex Re
2015.1
2015.1.01
2015.1.01.1
2015.1.01.1.RE
- 第一组:我只需要4个数字
- 第2组#:正好1个数字
- 第3组:(1-2)个数字
- 第4组:(1-4)个数字
- 第5组:只需
RE
^(\d+\)?(\d+\)、(\d+\)、(\d+\)、(\w+$
,但不起作用
string Expressao = @"^(\d+\.)?(\d+\.)?(\d+\.)?(\d+\.)?(\w+)$";
Regex Reg = new Regex(Expressao);
foreach(string rotulo in rotulos)
{
Match result = Reg.Match(rotulo);
if (result.Success)
{
Console.ForegroundColor = ConsoleColor.Green;
Console.WriteLine(string.Format("Sucesso! {0}", rotulo), ConsoleColor.Green);
}
else
{
Console.ForegroundColor = ConsoleColor.Red;
Console.WriteLine(string.Format("Falha! {0}", rotulo), ConsoleColor.Green);
}
}
Console.ReadKey();
我该怎么做?您的正则表达式必须是
string Expressao = @"^\d{4}\.\d(?:\.\d{1,2}(?:\.\d{1,4}(?:\.RE)?)?)?$";
您的正则表达式必须
string Expressao = @"^\d{4}\.\d(?:\.\d{1,2}(?:\.\d{1,4}(?:\.RE)?)?)?$";
让我们从基础开始 首先,列出五组
[0-9]{4}
[0-9]
[0-9]{1,2}
[0-9]{1,4}
RE
[0-9]{4}\[0-9]
[0-9]{4}\[0-9]\[0-9]{1,2}
[0-9]{4}\[0-9]\[0-9]{1,2}\[0-9]{1,4}
[0-9]{4}\[0-9]\[0-9]{1,2}\[0-9]{1,4}\.RE
.[0-9]{4}.[0-9]{4}.[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}.[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,4}.[0-9]{4}.[0-9]{1,2}.[0-9]}.[0-9]{
这给出了一个有效的答案,但不是很好的答案
但是知道一点再魔法,你可以创造一个更好的版本。在这里,我链接了选项,将完整版本链接在一起
^[0-9]{4}\[0-9](\[0-9]{1,2}(\[0-9]{1,4}(\.RE)?)?$
让我们从基础开始
首先,列出五组
[0-9]{4}
[0-9]
[0-9]{1,2}
[0-9]{1,4}
RE
接下来,列出四种变体
[0-9]{4}\[0-9]
[0-9]{4}\[0-9]\[0-9]{1,2}
[0-9]{4}\[0-9]\[0-9]{1,2}\[0-9]{1,4}
[0-9]{4}\[0-9]\[0-9]{1,2}\[0-9]{1,4}\.RE
最后,把它们放在一起
.[0-9]{4}.[0-9]{4}.[0-9]{1,2}.[0-9]{1,2}.[0-9]{4}.[0-9]{1,2}.[0-9]{1,2}.[0-9]{1,4}.[0-9]{4}.[0-9]{1,2}.[0-9]}.[0-9]{
这给出了一个有效的答案,但不是很好的答案
但是知道一点再魔法,你可以创造一个更好的版本。在这里,我链接了选项,将完整版本链接在一起
^[0-9]{4}\[0-9](\[0-9]{1,2}(\[0-9]{1,4}(\.RE)?)?$
OP的正则表达式有什么问题?它本该起作用的,效果很好!谢谢大家!@MarceloNascimento以接受的形式表示感谢。@AvinashRaj答案应该解释你所做的改变以及为什么这些改变是必要的。详细点。对不起,我刚意识到我的第二个版本和你的一样。OP的正则表达式有什么问题?它本该起作用的,效果很好!谢谢大家!@MarceloNascimento以接受的形式表示感谢。@AvinashRaj答案应该解释你所做的改变以及为什么这些改变是必要的。详细点。对不起,我刚意识到我的第二个版本和你的一样。