我在寻找一个正则表达式,它允许数字具有小数点后的最大长度。
它应该允许最大16位数字和3位小数,但是最大16位应该包括小数,但不包括。字符。到目前为止,我已经尝试过了:^(? =^[\d\.]。{0,16}$)[0-9] (\.[ 0-9]{1,3})? $
,除了允许17个单个数字之外,它很接近,而它应该只接受16个。如果我将{0,16}
更改为{0,15}
,它会破坏小数。
可接受值:
拒绝:
提前谢谢。
您的正则表达式相当接近,您可以使用此正则表达式:
^(?=(?:\d\.?){0,16}$)\d+(?:\.\d{1,3})?$
正则表达式演示
正则表达式详细信息:
(? =(?:\d\.?){0,16}$)
:是正的前瞻,以断言我们在输入中有0到16位数字,其中点是可选的。\d (?:\.\d{1,3})?
:将整数或十进制数与1到3位数字匹配。我有一个正则表达式,最多允许6个小数(“.”是小数分隔符) 我还想设置最大长度条件,以便用户只能输入12位数字,最大长度应排除“.”我如何使用正则表达式做到这一点。
我不确定这是否可以使用正则表达式。我会尝试使用正则表达式,但如果不可能,我会切换到双重验证。 我的数据库(postgresql)接受为15,6(最多15位,最多6位小数),因此如果我有10位整数,我可以有5位小数。小数分隔符被忽略。 我目前有一个正则表达式(逗号是小数分隔符): 它不验证总长度,只验证左侧的数字。但由于用户也可以键入点(千位分隔符),我有一个怪物:
我想验证一个数字最大长度为13、小数点为2的货币字符串。我用逗号作为十进制分隔符,用句点作为千位分隔符。 我有一个正则表达式: For sintax有效,但不适用于最大长度。我需要在这个正则表达式中添加什么? 例如,这些字符串必须有效: 这些必须是无效的:
我如何用PHP中的正则表达式来实现这个 匹配此内容并忽略尺寸部分 请记住,300x200可以是任何东西,从4charsx4chars到1charx1chars
我有一个正则表达式无法验证我的输入。 我的正则表达式:
问题内容: 我一直认为,Java的regex-API(以及与此相关的许多其他语言)中的后置断言必须具有明显的长度。因此,STAR和PLUS量词在内部回顾中是不允许的。 优秀的在线资源regular-expressions.info似乎证实了我的一些假设: “ […] Java通过允许有限重复而向前迈进了一步。你仍然不能使用星号或加号,但是可以使用问号和花括号以及指定的max参数。Java认识到有限