C# 小数点后2位之前的数值的正则表达式是什么?

C# 小数点后2位之前的数值的正则表达式是什么?,c#,.net,regex,C#,.net,Regex,我不熟悉正则表达式。 我需要一个正则表达式(C#)来匹配小数点前最多4位的数值,小数点后最多2位的数值 范例 它应该符合以下条件 1111 1211.12 1 0 0.00 1.1 它不应与以下内容匹配 11.111 11111 11111.1 您可以使用一个简单的数字量词,用一个组来测试数字的小数部分 ^\d{1,4}(\.\d{1,2})?$ 您可以使用一个简单的数字量词,用一个组来测试数字的小数部分 ^\d

我不熟悉正则表达式。
我需要一个正则表达式(C#)来匹配小数点前最多4位的数值,小数点后最多2位的数值

范例

它应该符合以下条件

  1111   
  1211.12  
  1  
  0  
  0.00  
  1.1    
它不应与以下内容匹配

  11.111  
  11111  
  11111.1  

您可以使用一个简单的数字量词,用一个组来测试数字的小数部分

^\d{1,4}(\.\d{1,2})?$

您可以使用一个简单的数字量词,用一个组来测试数字的小数部分

^\d{1,4}(\.\d{1,2})?$

你能告诉我们你为什么要这么做吗?也许有更好的替代regex的方法(或者告诉我们为什么要使用regex?)我需要从配置(映射)文件中读取格式。如果输入值与格式匹配,我需要接受,否则需要引发错误。这适用于约100个字段,对应于12种此类格式。允许使用0.0,而不是0。您能告诉我们为什么需要这样做吗?也许有更好的替代regex的方法(或者告诉我们为什么要使用regex?)我需要从配置(映射)文件中读取格式。如果输入值与格式匹配,我需要接受,否则需要引发错误。这适用于~100个字段,对应于12种这样的格式。允许使用0.0,而不是0。它应该\d{2}只匹配两位小数。答案是正确的。OP最多需要两位小数。@Tilak此正则表达式中不使用前瞻;没有必要使用一个。问号的意思是“无,或其中之一”。它不符合要求。它是匹配的,11.11111111111。1@Tilak我在C#中测试了它,事实上,在这些情况下它确实失败了。解决方案是添加开始和结束分隔符。已更新答案。答案应为\d{2},以仅匹配小数点后两位。答案正确。OP最多需要两位小数。@Tilak此正则表达式中不使用前瞻;没有必要使用一个。问号的意思是“无,或其中之一”。它不符合要求。它是匹配的,11.11111111111。1@Tilak我在C#中测试了它,事实上,在这些情况下它确实失败了。解决方案是添加开始和结束分隔符。更新答案。