Regex十进制值在0到1之间,最多有4位小数

时间:2022-01-15 17:09:02

I am writing a C# web application and verify data in a textbox using this regular expression that only accepts positive decimal values between 0 and 1:

我正在编写一个c# web应用程序,并使用这个只接受0到1之间的正数十进制值的正则表达式在文本框中验证数据:

^(0(\.\d+)?|1(\.0+)?)$

I would to adapt like the regex to restrict entries to 4 decimal places of precision.

我将像regex一样调整,将条目限制为4位精度。

Allowed

允许

0
0.1
0.12
0.123
0.1234
1

Not allowed

不允许

-0.1
-1
1.1
2

I have found the following regex that only allows up to 4 decimal places, but I am unsure on how to combine the two.

我发现下面的regex只允许小数点后四位,但我不确定如何将两者结合。

^(?!0\d|$)\d*(\.\d{1,4})?$

Any help is greatly appreciated, thanks.

非常感谢您的帮助,谢谢。

1 个解决方案

#1


2  

You need to set replace the + quantifier with the limiting {1,4}:

需要将+量词设置为限值{1,4}:

^(0(\.[0-9]{1,4})?|1(\.0{1,4})?)$
           ^^^^^        ^^^^^ 

See the regex demo

看到regex演示

Details:

细节:

  • ^ - start of string
  • ^ -字符串的开始
  • ( - Outer group start
    • 0 - a zero
    • 0 - 0
    • (\.[0-9]{1,4})? - an optional sequence of a . followed with 1 to 4 digits
    • (\[0 - 9]{ 1 4 })?-可选的a序列。接着是1到4个数字。
    • | - or
    • |——或者
    • 1 - a 1
    • 1 - 1
    • (\.0{1,4})?) - an optional sequence of . followed with 1 to 4 zeros
    • (\.0{1,4})?然后是1到4个零。
  • (-外层组开始0- a 0 (\.[0-9]{1,4})?-可选的a序列。后面跟着1到4位| -或1 - a 1(\.0{1,4}) -一个可选的序列。然后是1到4个零。
  • $ - end of string.
  • $ -字符串的末端。

#1


2  

You need to set replace the + quantifier with the limiting {1,4}:

需要将+量词设置为限值{1,4}:

^(0(\.[0-9]{1,4})?|1(\.0{1,4})?)$
           ^^^^^        ^^^^^ 

See the regex demo

看到regex演示

Details:

细节:

  • ^ - start of string
  • ^ -字符串的开始
  • ( - Outer group start
    • 0 - a zero
    • 0 - 0
    • (\.[0-9]{1,4})? - an optional sequence of a . followed with 1 to 4 digits
    • (\[0 - 9]{ 1 4 })?-可选的a序列。接着是1到4个数字。
    • | - or
    • |——或者
    • 1 - a 1
    • 1 - 1
    • (\.0{1,4})?) - an optional sequence of . followed with 1 to 4 zeros
    • (\.0{1,4})?然后是1到4个零。
  • (-外层组开始0- a 0 (\.[0-9]{1,4})?-可选的a序列。后面跟着1到4位| -或1 - a 1(\.0{1,4}) -一个可选的序列。然后是1到4个零。
  • $ - end of string.
  • $ -字符串的末端。