如何编写正则表达式以检查输入的值是否为空白或空或数字。在所有其他情况下,它将返回false。我试过了
\s*|\d+
也允许使用字符值。
答案 0 :(得分:3)
您的正则表达式\s*|\d+
只匹配输入字符串中的0个或更多空格或1个或多个数字,它可能包含与数字和其他字符混合的空格。
您可以使用以下正则表达式:
^(?:\s+|\d+)?$
请参阅demo
正则表达式匹配:
^
- 字符串开头(?:\s+|\d+)?
- 1次或0次(由于(?:...)
?
)......
\s+
- 一个或多个空白符号或\d+
- 一位或多位$
- 字符串结尾用简单的人类话语,
^....$
- 确保我们需要完整的字符串匹配,不允许字符串内的任何部分匹配(?:...)?
- 与该组内的子模式匹配的所有文本都是可选,因此允许空字符串匹配(即,如果字符串是,则返回 true 空)。