2012-12-06 69 views
2

我寫了正則表達式只允許數字。這是@"[0-9]",它完美的作品。但我想在正則表達式中添加一個符號「 - 」。我想要允許數字和「 - 」。如何做到這一點?) 我試過這樣的面具@"[0-9]\{-}",但它什麼都不允許。正則表達式只允許在WPF 2010中的數字和「 - 」


我最近看到,如果我輸入連字符,那麼我的程序不會理解爲「連字符」。這是你所有面具都不起作用的原因。儘管如此,它們都是正確的。非常感謝你的幫助。現在,我會找到如何閱讀連字符爲「 - 」 2010年WPF

回答

3

Hypens(-)在字符集的開頭並不像範圍說明符,這樣你就可以做到這一點與正則表達式

@"[-0-9]" 

,或者,像大多數正則表達式引擎,WPF允許的字符集速記的字符集,你也可以使用

@"[-\d]" 

,或者與其他的答案中提到,你能逃脫-把它在正則表達式,在這兩種正則表達式

@"[0-9\-]" 
@"[\d\-]" 
+0

它不起作用。文本框不允許輸入「 - 」。 – StepUp

+0

這些工作都沒有?你可以在字符之間加一個連字符,但不能在它們之前或之後使用連字 – murgatroid99

+0

不,當我嘗試輸入「 - 」時,那麼這個面具不允許連字符。 – StepUp

1

我不熟悉的2010 WPF,但如果是像大多數其他的正則表達式引擎,你可以寫:

@"[0-9-]" 
2

逃生它在這樣的範圍內:

@"[0-9\-] 
1

的我假設你正在測試只由數字和連字符的電話或傳真號碼。您可以嘗試[\d\-]+here。注意:匹配一個數字或連字符刪除+

+0

這非常有趣,但是mask @「[0-9]能夠正常工作,它只允許輸入數字,但其他的掩碼不能輸入連字符。 – StepUp

相關問題