带空格的c样式字符串的regcomp表达式
我正在尝试检测空字符串或仅包含空格(如“”)的字符串。 它是一个c应用程序,使用带空格的c样式字符串的regcomp表达式,c,regex,C,Regex,我正在尝试检测空字符串或仅包含空格(如“”)的字符串。 它是一个c应用程序,使用regcomp和regexec 对于空字符串,“^$”可以正常工作 但是对于只有空格的字符串,我遇到了一个问题。到目前为止,我已经想出了 “[\\s]*(?![A-za-z0-9])$” 有没有更好的方法用perl风格的正则表达式来表达它 更新: 实际上,我把它改成了“[\\s]*(?![\\w\\d\\t\\n\\r]*)$” 当我输入如“m”时,上面给出了一个错误。错误是 “无效的前置正则表达式”您应该使用*或+
regcomp
和regexec
对于空字符串,“^$”
可以正常工作
但是对于只有空格的字符串,我遇到了一个问题。到目前为止,我已经想出了
“[\\s]*(?![A-za-z0-9])$”
有没有更好的方法用perl风格的正则表达式来表达它
更新:
实际上,我把它改成了“[\\s]*(?![\\w\\d\\t\\n\\r]*)$”
当我输入如“m”时,上面给出了一个错误。错误是
“无效的前置正则表达式”
您应该使用*
或+
量词
所以它应该是^\s*$
或^*$
*
将0与多个字符匹配
+
匹配1到多个字符要测试字符串是否只包含空格,其Reg Ex将为
^\s*$
参考:有帮助
您可以使用isspace()对其进行迭代。多行字符串如何?你想把它们考虑进去吗?