PostgreSQL 正则表达式中 \p{Lo} Unicode 类的替代品

问题描述 投票:0回答:1

我在 PostgreSQL 中使用正则表达式时遇到了问题。事实证明,PostgreSQL 不支持

\p{Lo}
类,该类对应于 Unicode 标准中的“字母、其他”类别。我需要在正则表达式中使用此类,但我找不到在 PostgreSQL 中执行此操作的方法。

我正在寻找一种替代方法或方式来通过 PostgreSQL 中可用的 Unicode 范围来定义此类。我不想手动列出所有可能的字符,因为太多了。

到目前为止,我发现了一些部分适合的 Unicode 范围:

[\u0370-\u03FF\u0400-\u04FF\u0590-\u05FF\u0600-\u06FF\u3040-\u30FF\u30FF\u4E00-\u9FFF].

但是这些范围不足以完全覆盖

\p{Lo}
。也许有更全面的方法在 PostgreSQL 中表示
\p{Lo}
或一些已知的方法可以帮助实现类似的功能?

任何可以匹配

\p{Lo}
的特定 Unicode 范围的帮助或链接将不胜感激。

提前致谢!

javascript sql regex postgresql regexp-replace
1个回答
0
投票

您可以使用 [:alpha:] POSIX 字符类:

select 'áéíóãa' other_letter
where 'áéíóãa' ~ '[[:alpha:]]';
© www.soinside.com 2019 - 2024. All rights reserved.