C# 十进制分隔符的正则表达式

C# 十进制分隔符的正则表达式,c#,regex,C#,Regex,我需要一个正则表达式,它只匹配和,作为输入字段中的有效字符。我试过: ^(\.\,)$ 您指定了行首和行尾,但没有指定数字 这将匹配一个数字和一个或没有小数点: ^(\d+[.,]{0,1}\d*)$ 您没有使用|字符来划分两种可能性,因此它是在寻找,,而不是或,。这项工作: @"^(\.|\,)$" 或者你可以使用一个类。在此上下文中,您不需要转义两个字符: @"^[.,]$" 首先为什么要使用正则表达式: if(fld=='.' || fld==',') ... 如果你坚持的话,你

我需要一个正则表达式,它只匹配
作为输入字段中的有效字符。我试过:

^(\.\,)$

您指定了行首和行尾,但没有指定数字

这将匹配一个数字和一个或没有小数点:

^(\d+[.,]{0,1}\d*)$

您没有使用
|
字符来划分两种可能性,因此它是在寻找
,而不是
。这项工作:

@"^(\.|\,)$"
或者你可以使用一个类。在此上下文中,您不需要转义两个字符:

@"^[.,]$"

首先为什么要使用正则表达式:

if(fld=='.' || fld==',') ...
如果你坚持的话,你可以使用正则表达式:
[\\,]
,但我真的不明白你为什么要这样做。

试试这个

  Regex re = new Regex("^\d+[\.,]?\d*$");

阿拉伯十进制分隔符呢?您是只想匹配
还是
?还是要将数字与分隔符匹配?这个标题有点含糊不清。我猜你的意思是^(\d+[,]{0,1}\d*)$它是web程序中数字格式的设置。不是数字的实际输入字段,只有到字符是有效的。确保它是好的。此错误修复需要一个正则表达式,并每隔两年编写一个表达式。