Postgresql 正则表达式匹配大写、Unicode 感知

2023-11-29

标题很好地总结了这一点。我正在寻找与 Postgres ~ 运算符的 Unicode 大写字符匹配的正则表达式。 明显的方法行不通:

=> select 'A' ~ '[[:upper:]]';
 ?column? 
----------
 t
(1 row)

=> select 'Ó' ~ '[[:upper:]]';
 ?column? 
----------
 t
(1 row)

=> select 'Ą' ~ '[[:upper:]]';
 ?column? 
----------
 f
(1 row)

我使用的是 Postgresql 9.1,我的语言环境设置为 pl_PL.UTF-8。订购工作正常。

=> show LC_CTYPE;
  lc_ctype   
-------------
 pl_PL.UTF-8
(1 row)

PG 9.1 及更早版本的正则表达式引擎无法正确分类代码点不适合一个字节的字符。 的代码点为'Ó'211 是正确的,但是代码点'Ą'是260,超过255。

PG 9.2 在这方面做得更好,但对于所有字母表仍然不是 100% 正确。看到这个commit在 PostgreSQL 源代码中,特别是注释的这些部分:

删除不考虑 wctype.h 结果的硬连线限制 255以上的字符代码

and

不过,我们可以将其提高到 U+7FF(我选择它作为限制) 2字节UTF8字符),这至少会让东欧人 很高兴有更好的解决方案

不幸的是这没有向后移植到 9.1

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Postgresql 正则表达式匹配大写、Unicode 感知 的相关文章

  • 如何正确实施 Unicode 密码?

    添加对 Unicode 密码的支持是开发人员不应忽视的重要功能 尽管如此 在密码中添加对 Unicode 的支持仍然是一项棘手的工作 因为相同的文本可以在 Unicode 中以不同的方式进行编码 并且您不希望因此阻止人们登录 假设您将密码存
  • 如何将docker postgres镜像10.3中的pg_restore升级到10.5

    我使用 tableplus 作为我的一般管理员 目前使用 10 3 版本的 docker postgres 镜像进行生产和本地主机开发 因为tableplus将他们的postgres 10驱动程序升级到了10 5 所以我不能再使用pg re
  • Pandas系列矢量化文本处理

    我想使用矢量化操作改进我的 Pandas 代码 假设我有一个简单的 DataFrame 其中有一个文本列 其中可能包含 url Column1 0 hello http www google com 1 bye www mail com w
  • PL/pgSQL SELECT 到数组中

    这是我的函数声明和主体的一部分 CREATE OR REPLACE FUNCTION access update RETURNS void AS DECLARE team ids bigint BEGIN SELECT INTO team
  • 删除emacs中多余的空行

    M x flush lines 删除缓冲区中的所有空白行 但是我只想删除多余的空白行 也就是说 如果有n个连续的空白行我想删除n 1并保留一个 我知道删除空白行可以完成该点下的空白行的工作 但是我想要一个适用于整个缓冲区的简单解决方案 有什
  • Python 正则表达式中的 \B+ 与 [\B]+ 与 [^\b]+

    我在回答 SO 问题时遇到了一个我不明白的问题 我创建了一个简化的示例来说明该问题 场景 我正在测试两个标记 不是随机的英语单词 在字符串中至少相距一定距离 在这个例子中 我们有一个动物列表 我们要确保在羊和狼之间至少还有其他三种动物 否则
  • 如何在 iPhone 应用程序中使用正则表达式以 , (逗号)分隔字符串

    我必须读取包含三列的 csv 文件 在解析 csv 文件时 我得到了这种格式的字符串克里斯托弗 巴斯 为心爱的国家哭泣 期末论文 电子邮件受保护 cdn cgi l email protection 我想将三列的值存储在一个数组中 所以我使
  • 串行类型的外键 - 确保始终手动填充

    我有两个表 国家和地区 CREATE TABLE Countries id SERIAL name VARCHAR 40 NOT NULL PRIMARY KEY id CREATE TABLE Regions id SERIAL coun
  • C++ 正则表达式,未知转义序列 '\.'警告

    我第一次尝试在 C 中使用正则表达式 我对转义序列有点困惑 我只是想匹配字符串开头的点 为此 我使用表达式 它有效 但我的编译器 g 生成警告 warning unknown escape sequence regex self regex
  • 无法为数据库添加 SSL 支持

    我正在使用 Spring 3 Hibernate 和 postgres 9 2 为了启用 SSL 数据库连接 我按照以下步骤操作 创建自签名证书 参考 http www postgresql org docs 9 2 static ssl
  • 为什么 PostgreSQL 不能做这个简单的 FULL JOIN 呢?

    这是包含 2 个表的最小设置a and b每行 3 行 CREATE TABLE a id SERIAL PRIMARY KEY value TEXT CREATE INDEX ON a value CREATE TABLE b id SE
  • PHP-将字符串转换为unicode

    我在做这个工作 source mb convert encoding test unicode utf 8 source unpack C source var dump source return array size 8 1 gt in
  • 将 UNNEST 与 jOOQ 结合使用

    我正在使用 PostgreSQL 9 4 Spring Boot 1 3 2 和 jOOQ 3 7 我想 jOOQify 以下查询 SELECT id FROM users WHERE username IN SELECT FROM UNN
  • Laravel 验证规则仅针对字母

    我正在尝试添加验证规则以仅接受信件 我正在使用regex规则 但它仍然不起作用 下面是我的代码 Validate request input this gt validate request name gt required regex p
  • 提高第一个查询的性能

    如果执行以下数据库 postgres 查询 则第二次调用要快得多 我猜第一个查询很慢 因为操作系统 linux 需要从磁盘获取数据 第二个查询受益于文件系统级别和 postgres 中的缓存 有没有一种方法可以优化数据库以快速获得结果fir
  • 从postgresql中的jsonb嵌套数组中删除键值对

    我有 jsonb 数据作为 a b 1 c 2 d 3 b 4 c 5 d 6 g b 1 c 2 d 3 b 4 c 5 d 6 我想从 a 和 g 键的嵌套数组中删除 c 键 是否有一个查询可以执行此操作 SELECT jsonb ob
  • 在 Python 中解析 TCL 列表

    我需要在双括号上拆分以空格分隔的 TCL 列表 例如 OUTPUT 172 25 50 10 01 01 Ethernet 172 25 50 10 01 02 Ethernet Traffic Item 1 172 25 50 10 01
  • SQL 约束以防止根据列的先前值更新列

    是否可以使用检查约束 或其他一些技术 来防止在更新记录时设置与其先前值相矛盾的值 一个例子是 NULL 时间戳 表明发生了某些事情 例如 file exported 一旦文件被导出并且具有非 NULL 值 就不应再将其设置为 NULL 另一
  • Javascript正则表达式用于字母字符和空格? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我需要一个
  • 标准化 UTF-8 到底是什么?

    The 重症监护室项目 http userguide icu project org transforms normalization 现在也有一个PHP库 http us php net manual en class normalize

随机推荐

  • Woocommerce 自定义产品类别下拉问题

    我正在为店面主题开发一个儿童主题 我使用产品类别小部件作为标题下的下拉菜单 这完全符合我的需求 尽管我需要相同的 如果可能 下拉菜单显示在每个类别页面上 而不仅仅是主页上 我正在定制这段代码这几乎做到了 WooCommerce Extra
  • 年和年代有什么区别?

    The DateTimeFormatter类文档定义单独的符号u年度和y时代年份 https docs oracle com javase 8 docs api java time format DateTimeFormatter html
  • 拖动手势时将矩形限制为屏幕边缘

    我刚刚开始使用 SwiftUI 我希望找到最好的方法来解决在拖动手势期间将该矩形保持在屏幕边界内的问题 现在它会离开边缘 直到到达正方形的中间 我想是因为我正在使用 CGPoint 我尝试做一些数学来限制矩形 它只在左侧成功 但这似乎是一种
  • Gremlin 日期过滤方法

    有没有办法查询 titan gremlin 的日期 例如查找过去 X 天内的所有结果 任何帮助将非常感激 最好的方法是简单地将日期存储为 Long 值 并可能在边缘中的此类字段上建立索引 以便您可以利用limit interval等 请参阅
  • 将范围导出为图像

    一段时间以来 我和我的同事一直在使用各种方法来创建模板来轻松制作志愿者职位空缺表格 理想情况下 该项目的负责人只需输入详细信息 职位空缺表格就会自动生成 此时 我已经自动完成了表单 但我们仍然需要复制范围并将其手动粘贴到绘图中以将其另存为图
  • 我可以向 JSON-LD 中的给定 @type 添加自定义属性吗?

    我正在开发一个网站 允许用户探索大量唱片 所有数据当前都存储在一个 JSON 文件中 我将其转换为 JSON LD 以便使其具有语义并可供搜索引擎抓取 Schema org 有一个标准类型音乐专辑 它没有我为每个专辑存储 并呈现给用户 的某
  • C# - 国际设置的 Excel 数字格式问题

    我正在尝试使用 c 3 5 写入 Excel 2003 电子表格 但是我无法让它在不同的国家 地区设置中正常运行 国家 地区设置为英语或德语 这两个设置有不同的小数和千位设置 除非用户更改了 选项 屏幕的 国际 设置中的小数点和千位分隔符
  • 下拉列表项的工具提示

    我有一个下拉列表 我想为下拉列表项添加工具提示 我尝试使用以下代码 但它不起作用 for int d 0 d
  • JQUERY 通过参数 ID 获取元素

    只是想知道 jquery 的等效语法是什么 var elm id my id var elm document getElementById elm id thanks 我想你正在寻找的是 var elm id my id var elm
  • Eclipse CDT clean 在 Windows 上失败:尝试运行 rm -rf

    我在 Windows 7 上使用带有 CDT 的 Juno 当我尝试使用 MinGW 提供的内部构建器或 make 清理项目时 Eclipse 运行 X 命令 射频 并且清理操作失败 从控制台使用外部构建器 mingw32 make 进行日
  • Hive/Hadoop 中的唯一密钥生成

    从大数据 Hive 表中选择一组记录时 需要为每条记录创建唯一的键 在顺序操作模式下 通过调用像 max id 这样的东西很容易生成唯一的 id 由于 hive 并行运行任务 我们如何在不影响 hadoop 性能的情况下生成唯一键作为选择查
  • 需要处理来自非活动(.java)类的点击

    我有一个主要的 Activity 类 其中包含大量代码 数据 所以我想让它简短易读 所以我想创建一个 java 文件来根据要求处理一些功能 喜欢 Button b Button findviewById R id b1 b setOnCli
  • Android 应用程序 CPU 使用率高

    我正在编写一个应用程序 该应用程序必须在较长时间内执行高 CPU 使用率的操作 该操作像服务一样启动 但是android系统因为CPU使用率高而杀死了该应用程序 那么我该怎么做才能减少CPU使用率呢 并使系统不停止我的服务 服务 impor
  • 登录不应该是 GraphQL 中的查询吗?

    In the tutorial在 GraphQL 身份验证上 login is a Mutation type Mutation post url String description String Link signup email St
  • Android 双向滚动

    这更多的是一个大众答案而不是一个问题 我只是不知道如何发布它 版主如果你能告诉我是否有这样的事情 这个问题被问死了 然后我需要做类似的事情 所以我解决了这个问题 这篇文章的答案是如何在android中创建3x3双向滚动视图 下面是如何创建双
  • 如何将 data.frame 列从 Factor 转换为数字 [重复]

    这个问题在这里已经有答案了 我有一个data frame谁的班级栏是Factor 我想将其转换为数字 以便我可以使用相关矩阵 gt str breast data frame 699 obs of 10 variables class Fa
  • 此 linq 代码中的多个 orderby

    如何添加第二个商品来订购 我也想按 goalScored 元素排序 var theteams from teams in xdoc Descendants team orderby int teams Element points desc
  • 使用 Java 在 PostgreSQL 中存储时间的最推荐方法是什么?

    我在 PostgreSQL 数据库中存储两个日期 第一个是网页的访问数据 第二个日期是网页的最后修改日期 这是一个长整型 我有些怀疑存储这些值的最佳策略是什么 我只需要日 月 年和小时 秒 这仅用于统计建议 那么 有些疑问 最好存储尽可能长
  • 使用未知数量的参数调用可变参数函数

    假设我有一个接受可变数量参数的函数 我想从其他地方调用这个函数 构建参数列表 但事先不知道我需要多少个参数 抱歉 没有很好地解释 希望这段代码能让我的问题更清楚 void foo int n va list vl va start vl n
  • Postgresql 正则表达式匹配大写、Unicode 感知

    标题很好地总结了这一点 我正在寻找与 Postgres 运算符的 Unicode 大写字符匹配的正则表达式 明显的方法行不通 gt select A upper column t 1 row gt select upper column t