正则表达式为空,空格或零

时间:2014-05-06 21:42:44

标签: javascript regex

String = ""

String = "      "

String = "0"

我需要正则表达式来匹配所有三种情况。

我将前两个作为/^$|\s+/

如何包含零检查?

3 个答案:

答案 0 :(得分:6)

这将匹配空字符串,单个零或所有空格:

/^(\s+|0)?$/

Regular expression visualization

Debuggex Demo

说明:

  • /分隔符
  • ^字符串的开头
  • (开始一个小组:
    • \s+一个或多个空格
    • |
    • 0
    • )结束小组
  • ?匹配前一组零或一次
  • $字符串结尾
  • /分隔符

答案 1 :(得分:2)

您可以尝试以下方式:

/^[0\ ]*$/

或者:

/^(\ |0)*$/

如果我们不想匹配" 00000 [...]"或" 0 0 0 0 [...]" :

/^(\ *|0)$/ 

答案 2 :(得分:2)

您的模式将匹配包含任何空格的任何字符串(例如,由于中间的空格,它会认为"foo bar"匹配)。它听起来并不像你想要的那样。

要匹配任何仅包含空格,单个0或空字符串的字符串,请使用以下命令:

/^\s*$|^0$/

或者这个:

/^(\s*|0)$/