我有几个不同的字符串数字模式,需要在用户输入时进行验证。
他们看起来像这样
// Always a dash, always a comma
var variant1 = "0-5,99";
// Always a dash, never a comma, always integers
var variant2 = "10-20";
我在考虑做这样的事情,但显然它不起作用:/
var reg1 = @"(\w{2})-(\w{2})";
var match = Regex.IsMatch(variant2 , reg1);
由于
答案 0 :(得分:3)
var reg1 = @"^(?:\d+\-\d+,\d+)|(?:\d+\-\d+)$";
这会查找两个组中的一个,或者匹配“数字短划线数字(s)逗号数字”
^\d+\-\d+,\d+$
或匹配“数字短划线数字”
^\d+\-\d+$
并使用^
和$
强制进行“整个字符串”匹配。
答案 1 :(得分:0)
“[0-9] + - [0-9] +”至少有一个数字,后跟破折号和至少一个数字。 (如果不起作用,可以逃避中间“ - ”)