我写了Regex只允许数字。它是@"[0-9]"
,它完美无缺。但我想在正则表达式中添加符号“ - ”。我想允许数字和“ - ”。怎么做?)
我已经尝试过这样的面具@"[0-9]\{-}"
,但它什么都不允许。
我最近看到如果我输入连字符,那么我的程序不能理解为“连字符”。这就是为什么你的所有面具都不起作用的原因。尽管如此,他们都是正确的。非常感谢你的帮助。现在我将在WPF 2010中找到如何将连字符读作“ - ”。
答案 0 :(得分:3)
Hypens(-
)在字符集的开头不像范围说明符那样,所以你可以用正则表达式来做这个
@"[-0-9]"
或者,如果像大多数正则表达式引擎一样,WPF允许字符集中的字符集缩写,你也可以使用
@"[-\d]"
或者,正如提到的其他答案,您可以转义-
将其放入正则表达式中,就像在这两个正则表达式中的任何一个一样
@"[0-9\-]"
@"[\d\-]"
答案 1 :(得分:2)
在以下范围内逃脱:
@"[0-9\-]
答案 2 :(得分:1)
我不熟悉WPF 2010,但如果它像大多数其他正则表达式引擎一样,你可以写:
@"[0-9-]"
答案 3 :(得分:1)
我假设您正在测试仅包含数字和连字符的电话或传真号码。
您可以尝试[\d\-]+
here。注意:要匹配单个数字或连字符,请删除+
。