我需要验证0-59之间的范围选择。这是我尝试过的部分有效的方法。
var a = "0-8";
Regex reg = new Regex("[0-5][0-9]");
if(reg.IsMatch(a))
{
return true;
}
这对于输入“ 12-24”部分起作用,但是对于输入“ 0-8”则失败。我需要修改正则表达式什么?
答案 0 :(得分:1)
如果您想检测整个字符串并且不允许使用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;
}
它将为指定的输入返回以下值:
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
答案 1 :(得分:0)
我强烈建议您从Microsoft阅读此article。 它告诉您有关C#中的正则表达式的所有知识。