正则表达式问题?

Gavin8389 2009-03-27 06:59:57
[1-9]{1}\d{0,8}[ ]*(\.\d[0]*)

为什么能匹配 10.1?

怎么改动能让它只匹配整数和10.0,10.00,10.0000

...全文
70 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
xsir317 2009-03-31
  • 打赏
  • 举报
回复
[1-9]{1}\d{0,8}[ ]*(\.\d[0]*)

[1-9]{1}匹配了1
\d{0,8}匹配 0
[ ]*
\.\d 匹配.1
为啥不能匹配。。。


只匹配整数和10.0,10.00,10.0000 这个也好办。

/^(\d+)|(10\.0)|(10\.00)|(10\.000)$/ 这样就可以了。。。匹配整数或者10.0,10.00,10.0000

麻烦说话说清楚。
fibbery 2009-03-27
  • 打赏
  • 举报
回复
如果是纯粹的数,那么应该是:/^\d+$|^\d+\.\d[0]*$/
iambic 2009-03-27
  • 打赏
  • 举报
回复
请解释下你的正则表达式,然后说下为什么你觉得不应该匹配10.1。
fibbery 2009-03-27
  • 打赏
  • 举报
回复
/\d+|\d+\.\d[0]*/

37,741

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • WuKongSecurity@BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧