php - 需要一个正则表达式来匹配不带前导 0 的十进制数字

标签 php mysql regex

它应该匹配 0.1、1、.01,但不匹配 01、00.1 或任何带有字符的内容。

我试图确定一个值在放入 mysql 插入语句之前是否应该被引用和转义。我必须注意一些 varchar 键,它们可能是带有前导 0 的数字,如果作为数字插入,这些键将被截断。

如果可用的话,我还会使用内置的 php 或 mysql 函数。

编辑:这个似乎涵盖了我所有的基础:

/^([1-9][0-9]*(\.[0-9]+)?|0\.[0-9]+|\.[0-9]+|0)$/

最佳答案

尝试这个正则表达式:

([1-9]\d*(\.\d+)?)|(0?\.\d+)

关于php - 需要一个正则表达式来匹配不带前导 0 的十进制数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6142111/

相关文章:

php - 拉维尔 5 |找不到接口(interface) 'Illuminate\Contracts\Routing\Middleware'

mysql - SQL查询返回列值多次出现的行

javascript - 为什么 .NET 匹配我的正则表达式但 Javascript 不匹配?

c# - 正则表达式在分割时排除部分字符串

php - 尝试传递包含空格的选项值时出现问题

php - (YUI uploader )监听器不触发事件

php - mysql(在一行中添加多个值)android 应用程序

java - 在单词问题中间分割字符串

php - ffmpeg - 如何确定是否启用了 -movflags faststart? PHP

mysql - 存储特定数字范围的所有可能组合