2

我使用一个正则表达式验证器,我想限制使用除模式之外的任何东西:

5414.1;123;412.1;41241;...

我尝试使用[0-9;\.]*,但无法使其仅匹配在 text 之后和 before 包含一个(1)点的模式;

我使用http://regexpal.com/.

4

4 回答 4

5
^(\d+(\.\d+)?;)+$

^$阻止接受字符串的一部分

于 2013-11-29T16:23:15.000 回答
4

如果数据必须以 a 结尾;

 (-?\d+(\.\d+)?\;)+

除此以外:

 (-?\d+(\.\d+)?)(;-?\d+(\.\d+)?)*;?

这些将不允许空输入,但您可以通过将+第一个示例中的 替换为并将第二个示例*包装在(...)?.

于 2013-11-29T13:52:11.033 回答
2

这也不是完美的,但已经在附近......例如它允许-01.5。

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

相反,(x|)您也可以使用类似的表达式x?。(感谢@OGHaza)

于 2013-11-29T13:50:57.520 回答
2

you could also use this pattern

^(?:-?\d+[.;]?)+$
于 2013-11-29T16:34:22.063 回答