Regex 用于检查字符串是否只有空格的正则表达式

Regex 用于检查字符串是否只有空格的正则表达式,regex,postgresql,Regex,Postgresql,我想要一个正则表达式来检查字符串是否只有空格 例如:“” 我目前正在使用这个正则表达式 [/^ *$/] 但它也在检测一个包含单词的字符串 示例:“abc xyz” 我想在postgresql函数中使用这个正则表达式,如下所示 IF r.colmn IS NULL OR CAST(r.colmn as text) = '' OR CAST(r.colmn as text) ~ '[/^ *$/]' -- regex not working THEN RAISE NO

我想要一个正则表达式来检查字符串是否只有空格

例如:“”

我目前正在使用这个正则表达式

[/^ *$/]
但它也在检测一个包含单词的字符串

示例:“abc xyz”

我想在postgresql函数中使用这个正则表达式,如下所示

IF r.colmn IS NULL  OR CAST(r.colmn as text) = '' 
       OR CAST(r.colmn as text) ~ '[/^ *$/]' -- regex not working
THEN
     RAISE NOTICE 'Do something';       
END IF;

postgresql函数中是否有只检查只有空格的字符串的正则表达式?您需要从正则表达式中删除
[/
/]

IF r.colmn IS NULL  OR CAST(r.colmn as text) = '' 
       OR CAST(r.colmn as text) ~ '^ *$'
THEN
     RAISE NOTICE 'Do something';       
END IF;

谢谢,它正在运行,网站上说我只能在10分钟后接受你的回答。你能解释一下为什么我需要删除它们吗?它需要删除,因为Postgres正则表达式不需要像PHP那样的任何分隔符,并且使用
[
]
会使正则表达式作为
[
]中的字符无效
被解释为字符类。如果我想测试我的字符串是否既包含
空格
又包含
新行字符
,则正则表达式将做什么?@UsamaTahir
“^\s*$”
,其中
\s
匹配任何空格,包括
新行
。如果您只需要
空间
换行符
,您可以执行
“^[\n]*$”
,但请记住,在Windows环境中,您可能还需要
“^[\n\r]*$”
,如果要捕获选项卡等,该怎么办。我建议使用
\s
解决方案。我不明白为什么需要正则表达式<代码>如果trim(r.colmn)=''将执行相同的操作。而且可能更有效。我同意“一匹没有的马”_name@a_horse_with_no_name,我是postgresql新手,因为您建议trim()更有效,所以我将使用它。谢谢