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()更有效,所以我将使用它。谢谢