RegEx允许除空格或所有空格以外的任何内容?

时间:2013-07-09 18:21:29

标签: regex

我想允许任何事情......

除了空白条目(NULL,零字符,无论你想调用它)以及任何长度的空格都不应该被允许。

如果我用一种语言进行编码,这基本上就是我用TRIM()函数做的事情,但我只需要用正则表达式来做这件事。

谢谢!

4 个答案:

答案 0 :(得分:6)

这个正则表达式怎么样:

(?!^ +$)^.+$

这将确保:

  1. 输入不为空或为空
  2. 输入不仅有1个或多个空格
  3. 允许非空格字符之间的空格
  4. 现场演示:http://www.rubular.com/r/x2MU1fbAhE

答案 1 :(得分:2)

先生。鲍勃,我想知道你在用什么语言?我知道如果您使用C#,有很多很棒的实用工具可以匹配正则表达式或处理用户输入。但是,如果没有这方面的知识,我能提供的最好的就是:

[\S]+

这将匹配任何非空白字符。然后你可以将每场比赛拼接在一起。如果您提供与您合作的语言,我可以给您更好的答案。

答案 2 :(得分:2)

正如其他人所提到的,要匹配所有非白色空格字符,您将使用:

[^\s]+

但是,如果要查找trim()的等效项,则可以在字符串前后匹配空格:

^[ \t]+|[ \t]+$

然后用空字符串替换它。

如果您想删除字符串中任何位置的空白字符,那么您可以使用以下字符作为匹配:

[\s\n\r]+

答案 3 :(得分:1)

与其他答案相反,我的印象是您只想丢弃空白条目。

为此,如果以下正则表达式匹配,则该条目无效,应该被丢弃:

/^[\s\n\r]*$/