我在 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 范围的帮助或链接将不胜感激。
提前致谢!
您可以使用 [:alpha:] POSIX 字符类:
select 'áéíóãa' other_letter
where 'áéíóãa' ~ '[[:alpha:]]';