2 liyongdagege liyongdagege 于 2014.11.20 08:48 提问

正则表达式,匹配一个范围的值用分号隔开,也可以是单独的一个值

匹配1-31的值,可以是1,2,3,4,5 还可以是1 这样的类型 输入的值要在1到31之间;
比如输入:1,2,3,31 返回true 输入1,2,32返回false

输入2返回true 输入32返回false

5个回答

q107770540
q107770540   Ds   Rxr 2014.11.20 11:40
已采纳
void Main()
{
    var arry=new string[]{"1,12,3,31",
                        "1",
                        "1,12,32",
                        "2",
                        "33",};
    var reg=new Regex(@"^(([1-9]|[12]\d|3[01]),)*([1-9]|[12]\d|3[01])$");
    foreach(var item in arry)
         Console.WriteLine("{0} -- {1}",item,reg.IsMatch(item));

    /*
    1,12,3,31 -- True
    1 -- True
    1,12,32 -- False
    2 -- True
    33 -- False
    */
}
showbo
showbo   Ds   Rxr 2014.11.20 09:59
<script>
var rx = /^([1-9]|[1-2]\d|30|31)(,([1-9]|[1-2]\d|30|31))*$/;

document.write(rx.test("1,2,3,31")  + '<br>');
document.write(rx.test("1,0,3,31")  + '<br>');

document.write(rx.test("1,2,3,33") + '<br>');
document.write(rx.test("1,2,3,23") + '<br>');

liyongdagege
liyongdagege 谢谢
接近 3 年之前 回复
caozhy
caozhy   Ds   Rxr 2014.11.20 10:53

(([1-2]\d|30|31|4-9),)*(([1-2]\d|30|31|4-9))

liyongdagege
liyongdagege 谢谢
接近 3 年之前 回复
q107770540
q107770540   Ds   Rxr 2014.11.20 11:38
void Main()
{
    var arry=new string[]{"1,2,3,31",
                        "1",
                        "1,12,32",
                        "2",
                        "32",};
    var reg=new Regex(@"^(([1-9]|(2\d)|(3[01])),)*([1-9]|(2\d)|(3[01]))$");
    foreach(var item in arry)
         Console.WriteLine("{0} -- {1}",item,reg.IsMatch(item));

    /*
    1,2,3,31 -- True
    1 -- True
    1,12,32 -- False
    2 -- True
    32 -- False
    */
}
liyongdagege
liyongdagege 谢谢啊
接近 3 年之前 回复
liyongdagege
liyongdagege 谢谢啊
接近 3 年之前 回复
liyongdagege
liyongdagege 谢谢啊
接近 3 年之前 回复
chinmo
chinmo   Rxr 2014.11.20 12:16

楼上的那些都回答了,基本都是一样的做法,
^(([1-9]|[12]\d|3[01]),)*([1-9]|[12]\d|3[01])$

^([1-9]|[1-2]\d|30|31)(,([1-9]|[1-2]\d|30|31))*$
都可以的

liyongdagege
liyongdagege 谢谢
接近 3 年之前 回复
liyongdagege
liyongdagege 谢谢
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片