regex – 任何大于0的数字的正则表达式?
对MVC中的模型应用验证,并且想使用Regex。
希望验证我的模型上的ID在提交时大于0。 我不熟悉Regex …有人可以帮助我吗? 谢谢
我不知道MVC如何相关,但如果你的ID是一个整数,这个BRE应该做:
^[1-9][0-9]*$ 如果你想匹配实数(浮点数)而不是整数,你需要处理上面的情况,正常的十进制数(例如2.5或3.3),你的模式在0和1(即0.25)之间的情况,如好的情况下,你的模式的小数部分为0.(即2.0)。虽然我们在它,我们将添加对整数(即005)前导零的支持: ^(0*[1-9][0-9]*(.[0-9]+)?|0+.[0-9]*[1-9][0-9]*)$ 注意,第二个是扩展RE。同样的事情可以在基本RE中表示,但是几乎所有的东西都理解ERE这些天。让我们把表达式分解成更容易消化的部分。 ^( 插入符在行的开头匹配null,因此在你的正则表达式之前使用插入符将它锚定到行的开头。开始括号是因为or-bar,在下面。稍后再谈。 0*[1-9][0-9]*(.[0-9]+)? 这可以匹配任何整数或任何大于1的浮点数。因此我们的2.0将匹配,但0.25不会匹配。开始处的0 *处理前导零,因此005 == 5。 | 在此上下文中,管道字符是“或 – 条”。为了评估该表达式,它具有比其他任何事物更高的优先级,并且有效地将两个正则表达式连接在一起。圆括号用于分隔由或条形分隔的多个表达式。 第二部分: 0+.[0-9]*[1-9][0-9]* 这将匹配以一个或多个0字符开头的任何数字(用*替换以匹配零或多个零,即.25),后跟一个句点,后跟一个包含至少一个非0的数字字符串。所以这匹配0以上和1以下的一切。 )$ 最后,我们关闭括号并将正则表达式锚定到带有美元符号的行的末尾,正如插入符锚定到行的开头。 当然,如果你让你的编程语言评价一些数字,而不是试图匹配一个正则表达式,你会节省头痛和CPU。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- JSShare分享流感导航菜单诞生
- 架构师 传统三层+EF+linq+MVC+wcf+Repository+easyui+ajax+
- ios – 将我的自定义框架导入项目时没有这样的模块
- jQuery+ajax读取并解析XML文件的方法
- ruby-on-rails – 是!object.nil? == object.present?在
- ruby-on-rails – 铁路菜鸟学习rspec的最佳方法是什么?
- PostgreSQL 安装报错 Error reading file postgresql.conf
- nosql数据库学习二:Tokyo Tyrant
- 排序 – 为什么我的Rust实现InsertionSort比我的C版慢?
- 信息流聚合类系统(如RSS阅读器)中数据同步的架构设计