2012-12-06 55 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

相关问题