2014-01-13 75 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*$");