3

我想允许任何事情和一切.​​.

除了空白条目(NULL、零个字符,无论你想怎么称呼它)和任何长度的空格都不应该被允许。

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

谢谢!

4

4 回答 4

11

这个正则表达式怎么样:

(?!^ +$)^.+$

这将确保:

  1. 输入不为空或为空
  2. 输入不仅有 1 个或多个空格
  3. 非空格字符之间允许有空格

现场演示:http ://www.rubular.com/r/x2MU1fbAhE

于 2013-07-09T18:39:29.070 回答
2

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

[^\s]+

但是,如果您正在寻找与 trim() 等效的方法,则可以将字符串前后的空格匹配为:

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

然后用空字符串替换它。

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

[\s\n\r]+
于 2013-07-09T18:38:45.170 回答
2

Bob 先生,我想知道您使用的是什么语言?我知道如果您使用的是 C#,那么有很多很棒的实用程序可用于匹配正则表达式或处理用户输入。但是,如果没有这些知识,我能提供的最好的就是:

[\S]+

这将匹配任何非空白字符。然后,您可以将每个匹配项缝合在一起。如果您提供您正在使用的语言,我可以给您一个更好的答案。

于 2013-07-09T18:31:44.970 回答
1

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

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

/^[\s\n\r]*$/
于 2013-07-09T18:42:47.230 回答