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程序中数字格式的设置。不是数字的实际输入字段,只有到字符是有效的。确保它是好的。此错误修复需要一个正则表达式,并每隔两年编写一个表达式。