正则表达式在使用\时允许字符

时间:2015-12-04 09:52:17

标签: regex

如何编写正则表达式以检查输入的值是否为空白或空或数字。在所有其他情况下,它将返回false。我试过了 \s*|\d+也允许使用字符值。

1 个答案:

答案 0 :(得分:3)

您的正则表达式\s*|\d+只匹配输入字符串中的0个或更多空格或1个或多个数字,它可能包含与数字和其他字符混合的空格。

您可以使用以下正则表达式:

^(?:\s+|\d+)?$

请参阅demo

正则表达式匹配:

  • ^ - 字符串开头
  • (?:\s+|\d+)? - 1次或0次(由于(?:...) ? )......
    • \s+ - 一个或多个空白符号或
    • \d+ - 一位或多位
  • $ - 字符串结尾

用简单的人类话语,

  • ^....$ - 确保我们需要完整的字符串匹配,不允许字符串内的任何部分匹配
  • (?:...)? - 与该组内的子模式匹配的所有文本都是可选,因此允许空字符串匹配(即,如果字符串是,则返回 true 空)。