PostgreSQL -如何在文本字段中找到特殊字符,白色,额外的制表符和回车符?

u3r8eeie  于 2023-04-05  发布在  PostgreSQL
关注(0)|答案(1)|浏览(158)

我尝试在PostgreSQL中检查数据库列中的特殊字符,白色(不止一个空格),额外的制表符和回车符。对我来说,这个想法是找到特殊字符,如(例如,+,”“,`,/,'等)。我想计算这些值出现的次数。我对PostgreSQL和正则表达式相当陌生。
例如,

roadmap/plan
Smith, Tom  (2 spaces after Tom)
applicant's
    see me (tab)
Q4  2024
FY2024+

到目前为止,我已经尝试了以下SQL来查找这些值。

select col1 from  table_name
where col1  ~*  '[^A-Za-z0-9&\(\)\| \''.-\\s*\s*|\s+y\s+]+';

然而,我正在拿回我不关心的记录,比如是否有一个。字符。
例如,

Dr. Tom Smith

我也试过:

select col1 from  table_name
where col1  ~* '[^A-Za-z0-9^\\''\-#+~_\t\r]';

我还是能拿到我不在乎的唱片
例如,

Q4 2024
Tom Smith

我的标准是找到:

  • 引号(单引号和双引号)
  • 背蜱
  • 〈,〉
  • 撇号
  • 加号+
  • {}
  • &
  • |
  • 额外选项卡
  • 回车
  • 单词之间的空格
  • 反斜杠或正斜杠
  • 配管
  • 字母数字值为:a-z或A-Z
  • 数值为:0-9

我缺少或需要从正则表达式中删除什么?

qvsjd97n

qvsjd97n1#

空格是允许的,所以把它们放在你的字符类中,但要检查是否有双空格:

where col1 ~* '[^A-Za-z0-9^\\''\-#+~_\t\r\n ]|\\s\\s+';

相关问题