在 .net 中选择范围的正则表达式
Regular expression for selection of a range in .net
我需要验证 0-59 之间的范围选择。这是我尝试过的部分有效的方法。
var a = "0-8";
Regex reg = new Regex("[0-5][0-9]");
if(reg.IsMatch(a))
{
return true;
}
这对输入“12-24”部分有效,但对输入“0-8”无效。我需要修改正则表达式什么?
如果要检测整个字符串并且不允许 2-ok
或 -11
或 55+56
等值,则使用 ^([0-5]?[0-9]|60)-([0-5]?[0-9]|60)$
作为正则表达式模式:
var a = "0-8";
Regex reg = new Regex("^([0-5]?[0-9]|60)-([0-5]?[0-9]|60)$");
if(reg.IsMatch(a))
{
return true;
}
它会return指定输入的以下值:
var s1 = "0-59"; // true
var s2 = "59-59"; // true
var s3 = "0-60"; // false
var s4 = "0_59"; // false
var s5 = "60-59"; // false
var s6 = "59-0"; // true
var s7 = "0-0"; // true
var s8 = "0-"; // false
var s9 = "-0"; // false
var s10 = "0-80"; // false
我强烈建议您阅读来自 Microsoft 的 article。
它告诉您有关 C# 中正则表达式的所有信息。
我需要验证 0-59 之间的范围选择。这是我尝试过的部分有效的方法。
var a = "0-8";
Regex reg = new Regex("[0-5][0-9]");
if(reg.IsMatch(a))
{
return true;
}
这对输入“12-24”部分有效,但对输入“0-8”无效。我需要修改正则表达式什么?
如果要检测整个字符串并且不允许 2-ok
或 -11
或 55+56
等值,则使用 ^([0-5]?[0-9]|60)-([0-5]?[0-9]|60)$
作为正则表达式模式:
var a = "0-8";
Regex reg = new Regex("^([0-5]?[0-9]|60)-([0-5]?[0-9]|60)$");
if(reg.IsMatch(a))
{
return true;
}
它会return指定输入的以下值:
var s1 = "0-59"; // true
var s2 = "59-59"; // true
var s3 = "0-60"; // false
var s4 = "0_59"; // false
var s5 = "60-59"; // false
var s6 = "59-0"; // true
var s7 = "0-0"; // true
var s8 = "0-"; // false
var s9 = "-0"; // false
var s10 = "0-80"; // false
我强烈建议您阅读来自 Microsoft 的 article。 它告诉您有关 C# 中正则表达式的所有信息。