【问题标题】:PostgreSQL regex check start with Latin and alpha characterPostgreSQL 正则表达式检查以拉丁字符和字母字符开头
【发布时间】:2017-04-04 16:42:12
【问题描述】:

我必须在 PostgreSQL 中检查以 alpha 开头的字符串。我用这个:

    SELECT string ~ '^([a-z]|[A-Z])'

但它不适用于以拉丁字符开头的字符串。例如:ücp。

在 Java 中,我使用这个正则表达式:

    ^([\pL]).*

我在 PostgreSQL 上尝试过,但没有按预期工作。

如何在 PostgreSQL 中编写这个正则表达式?

【问题讨论】:

  • 如果你使用^[[:alpha:]]会怎样?
  • 谢谢!我的工作就像一个魅力!

标签: regex latin


【解决方案1】:

POSIX 字符类[:alpha:] 依赖于区域设置,并且也匹配Unicode 字母。

使用

^[[:alpha:]]

看看docs 怎么说:

标准字符类名称为:alnum、alpha、blank、cntrl、digit、graph、lower、print、punct、space、upper、xdigit。这些代表 ctype 中定义的字符类。语言环境可以提供其他语言环境。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-10-13
    • 2015-05-14
    • 2017-07-24
    • 2015-07-09
    • 1970-01-01
    • 2018-06-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多