日期:2014-05-20  浏览次数:20791 次

正则表达式问题
要求是
输入数据:前边为0--9中任意数字,最少一位,最大不限
中间可有或无“-”符号
后边数据以0---9中的任意数字结尾,最少一位,最大不限

我的Regex   为:^[0-9]*-?[0-9]*$

但是-符号在前边或结尾都无法判断,请熟悉正则的大侠们帮助!
谢谢!谢谢!

------解决方案--------------------
^[0-9]+-?[0-9]+$
------解决方案--------------------
没太明白..

这样可以不?

@ "^\d*-?\d*$ "
------解决方案--------------------
最少一位..

@ "^\d+-?\d+$ "
------解决方案--------------------
楼主你的这个表达式测试结果如下
^[^-][0-9]*(-)?[0-9][^-]*$

a123=true
a123a=true
1-2-3=false
------解决方案--------------------
以下情况是否合法
1、 231--321
2、 132-321-321

如果都合法,用这个
^\d+(-*\d+)*$

如果1不合法,而2合法,用这个
^\d+(-\d+)*$

如果只有以下形式合法
1323
231-123
用这个
^\d+-?\d+$