我使用一个正则表达式验证器,我想限制使用除模式之外的任何东西:
5414.1;123;412.1;41241;
...
我尝试使用[0-9;\.]*
,但无法使其仅匹配在 text 之后和 before 包含一个(1)点的模式;
。
我使用http://regexpal.com/
.
^(\d+(\.\d+)?;)+$
将^$
阻止接受字符串的一部分
如果数据必须以 a 结尾;
:
(-?\d+(\.\d+)?\;)+
除此以外:
(-?\d+(\.\d+)?)(;-?\d+(\.\d+)?)*;?
这些将不允许空输入,但您可以通过将+
第一个示例中的 替换为并将第二个示例*
包装在(...)?
.
这也不是完美的,但已经在附近......例如它允许-01.5。
((-|)[0-9]+(\.[0-9]*[1-9]|)\;)*(-|)[0-9]+(\.[0-9]*[1-9]|)
相反,(x|)
您也可以使用类似的表达式x?
。(感谢@OGHaza)
you could also use this pattern
^(?:-?\d+[.;]?)+$