我试图创建一个正则表达式,它接受: 一个空字符串,一个整数或多个用逗号分隔的整数,但不能有逗号和开始和结尾。正则表达式:逗号分隔的整数
我设法找到这一点,但我不能undertsand如何删除位数限制
^\d{1,10}([,]\d{10})*$
我试图创建一个正则表达式,它接受: 一个空字符串,一个整数或多个用逗号分隔的整数,但不能有逗号和开始和结尾。正则表达式:逗号分隔的整数
我设法找到这一点,但我不能undertsand如何删除位数限制
^\d{1,10}([,]\d{10})*$
您发布仍然事情需要至少1的整数,所以它不会匹配一个空字符串:
这里是你需要的东西:
^(\d+(,\d+)*)?$
阐释:
'?'
所以以匹配空字符串。'\d+'.
也就是说1个或多个数字字符('0'-'9')
',\d+'
括号,并把一个星号之后。 3a。里面的意思是以','开始,然后是整数。 3b。星号表示在括号内重复0次或更多次。亨奇整件事是either an empty string or start with an integer then repeat zero or more times a string which starts with a comma and ends with an integer
{1,10}
和{10}
的范围。您可以用+
替换它们以获得无限正面效果。例如:
^\d+([,]\d+)*$
你可以忽略逗号周围的方括号。 – 2010-05-27 13:25:23
你说得对。 – troelskn 2010-05-27 15:02:30
尝试以下操作:
^(\d+(,\d+)*)?$
谢谢你:) – 2010-05-27 13:40:20
注意'[,]'相当于','你可能打算写'([,] \ d {1,10})*'而不是'([,] \ d {10})*'。 – 2010-05-27 13:29:01