【PostgreSQL/openGauss】PostgreSQL/openGauss正则查询-排除特殊字符-不包含下划线“_”、逗号“,”、“&”、空格“ ”、“-”、“(”、“(”、中文的数据
一、SQL
-- openGauss查找 表中 字符串中不包含下划线“_”、逗号“,”、“&”、空格“ ”、“-”、“(”、“(”、中文的数据
select * from 表名 where 字段名 !~ '^[0-9a-zA-Z_,&\s\-\(\)\u4e00-\u9fa5]{1,}$';
!~ 的 !是取反、不包含的意思
二、正则解析
^ -- 开头
[] -- 单个字符
_ -- 下划线_
, -- 下划线,
& -- 下划线&
0-9 -- 数字 0 到 9
a-z -- 小写字母 a 到 z
A-Z -- 大写字母 a 到 z
{1,} -- 至少一次
\u4e00-\u9fa5 -- 中文
\- -- 转义短横线
\s -- 单个空格
\( -- 转义左半括号
\) -- 转义右半括号
$ -- 结尾