2014-01-13 50 views
-1

我需要一个正则表达式,它只匹配.,作为输入字段中的有效char单个字符。我曾尝试过:十进制分隔符的正则表达式

^(\.\,)$ 
+2

使用类?^[。,] $ –

+0

阿拉伯数字小数点分隔符怎么样? –

+0

你想只匹配'.'还是','?或者你想用分隔符来匹配一个数字吗?标题使这有点模糊。 – FishBasketGordo

回答

2

您不包括|字符来划分的两种可能性,因此正在寻找.,,不., 。这工作:

@"^(\.|\,)$" 

或者你可以使用一个类。在这种情况下,你不需要逃避任何字符:

@"^[.,]$" 
0

您指定了行的开始和行尾,但没有数字。

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

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

我想你的意思是^(\ d + [。,] {0,1} \ d *)$ – Marshall777

+0

你应该猜对了:) – thumbmunkeys

+0

这是数字格式在网络程序中的设置。数字不是实际的输入字段,只是字符数是有效的。 –

1

为什么要用摆在首位正则表达式:

if(fld=='.' || fld==',') ... 

你可以使用正则表达式,如果你坚持:[\\.,],但我真的不明白你为什么想这样做。

+0

肯定会很好。此错误修复需要一个正则表达式,并且每隔一年编写一次表达式。 –

0

试试这个

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