-1

我有以下正则表达式,它指定允许用户输入的字符:

@"^[A-Za-z0-9/!\$%\^&\*\(\)\-_\+\[\]\{\}\;\:\'\£\@\#\.\?]*$

我知道 ' \s' 是空格的字符类,但是如何将其添加到正则表达式中以排除它?我在 Stack Overflow 上搜索过这个问题——这些问题提供了排除空格的解决方案,但没有提供如何在现有正则表达式中使用它。如果我像添加其他字符一样添加它,这意味着“允许空格”吗?

编辑:不知道为什么这被标记了?感谢大家的回答

4

3 回答 3

3

^在方括号内的正则表达式中表示否定,因此添加^\s意味着“不是空格”。

于 2012-05-02T09:24:58.623 回答
3

首先,您不需要所有这些转义。其次,正则表达式已经不允许空格。

@"^[A-Za-z0-9\[\]/!$%^&*()\-_+{};:'£@#.?]*$"

[] 定义了一组允许的字符(后跟 * 表示字符集中的字符可以是零次或多次)。

^ 匹配开头, $ 匹配结尾,因此 /s 不在任何地方,这意味着不允许使用空格。

于 2012-05-02T09:26:52.910 回答
0

在正则表达式中,如果不写“\s”。这意味着您的正则表达式不允许任何空格。

例如:1)如果我不想让任何用户在文本框中输入空格,那么正则表达式写成:

正则表达式字母=新正则表达式(@"^[az]*$");

2)如果允许用户在文本框中输入任何空格,则正则表达式写为:

正则表达式字母=新正则表达式(@"^[az\s]*$");

3) 在正则表达式中,“^”表示开始,“$”表示结束。

注意:^\s 表示“\s”的否定

正则表达式 regfname = new Regex(@"^[^\s][a-zA-Z]*$");

此代码不允许任何空格和空文本框!

我希望这能帮助你理解正则表达式中空格的概念。

于 2013-02-02T09:23:28.260 回答