正则表达式只允许数字和WPF 2010中的“ - ”

时间:2012-12-06 02:36:02

标签: regex

我写了Regex只允许数字。它是@"[0-9]",它完美无缺。但我想在正则表达式中添加符号“ - ”。我想允许数字和“ - ”。怎么做?) 我已经尝试过这样的面具@"[0-9]\{-}",但它什么都不允许。


我最近看到如果我输入连字符,那么我的程序不能理解为“连字符”。这就是为什么你的所有面具都不起作用的原因。尽管如此,他们都是正确的。非常感谢你的帮助。现在我将在WPF 2010中找到如何将连字符读作“ - ”。

4 个答案:

答案 0 :(得分:3)

Hypens(-)在字符集的开头不像范围说明符那样,所以你可以用正则表达式来做这个

@"[-0-9]"

或者,如果像大多数正则表达式引擎一样,WPF允许字符集中的字符集缩写,你也可以使用

@"[-\d]"

或者,正如提到的其他答案,您可以转义-将其放入正则表达式中,就像在这两个正则表达式中的任何一个一样

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

答案 1 :(得分:2)

在以下范围内逃脱:

@"[0-9\-]

答案 2 :(得分:1)

我不熟悉WPF 2010,但如果它像大多数其他正则表达式引擎一样,你可以写:

@"[0-9-]"

答案 3 :(得分:1)

我假设您正在测试仅包含数字和连字符的电话或传真号码。

您可以尝试[\d\-]+ here。注意:要匹配单个数字或连字符,请删除+