我正在尝试检查 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
我的标准是找到:
我缺少或需要从正则表达式中删除什么?
空格是允许的,所以把它们放在你的字符类中,但要检查双空格:
where col1 ~* '[^A-Za-z0-9^\\''\-#+~_\t\r ]| ';