我有以下正则表达式,它指定允许用户输入的字符:
@"^[A-Za-z0-9/!\$%\^&\*\(\)\-_\+\[\]\{\}\;\:\'\£\@\#\.\?]*$
我知道 ' \s
' 是空格的字符类,但是如何将其添加到正则表达式中以排除它?我在 Stack Overflow 上搜索过这个问题——这些问题提供了排除空格的解决方案,但没有提供如何在现有正则表达式中使用它。如果我像添加其他字符一样添加它,这意味着“允许空格”吗?
编辑:不知道为什么这被标记了?感谢大家的回答
^
在方括号内的正则表达式中表示否定,因此添加^\s
意味着“不是空格”。
首先,您不需要所有这些转义。其次,正则表达式已经不允许空格。
@"^[A-Za-z0-9\[\]/!$%^&*()\-_+{};:'£@#.?]*$"
[] 定义了一组允许的字符(后跟 * 表示字符集中的字符可以是零次或多次)。
^ 匹配开头, $ 匹配结尾,因此 /s 不在任何地方,这意味着不允许使用空格。
在正则表达式中,如果不写“\s”。这意味着您的正则表达式不允许任何空格。
例如:1)如果我不想让任何用户在文本框中输入空格,那么正则表达式写成:
正则表达式字母=新正则表达式(@"^[az]*$");
2)如果允许用户在文本框中输入任何空格,则正则表达式写为:
正则表达式字母=新正则表达式(@"^[az\s]*$");
3) 在正则表达式中,“^”表示开始,“$”表示结束。
注意:^\s 表示“\s”的否定
正则表达式 regfname = new Regex(@"^[^\s][a-zA-Z]*$");
此代码不允许任何空格和空文本框!
我希望这能帮助你理解正则表达式中空格的概念。