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