2

我写了正则表达式只允许数字。确实@"[0-9]"如此,而且效果很好。但我想在正则表达式中添加一个符号“-”。我想允许数字和“-”。怎么做?)我试过这样的面具@"[0-9]\{-}" ,但它什么也做不了。


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

4

4 回答 4

3

连字符 ( -) 不像字符集开头的范围说明符,因此您可以使用正则表达式执行此操作

@"[-0-9]"

或者,如果像在大多数正则表达式引擎中一样,WPF 允许在字符集中使用字符集速记,您也可以使用

@"[-\d]"

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

@"[0-9\-]"
@"[\d\-]"
于 2012-12-06T02:41:00.310 回答
2

在这样的范围内转义它:

@"[0-9\-]
于 2012-12-06T02:39:06.333 回答
1

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

@"[0-9-]"
于 2012-12-06T02:37:37.990 回答
1

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

你可以[\d\-]+ 在这里试试。注意:要匹配单个数字或连字符删除+.

于 2012-12-06T02:51:35.350 回答