標題總結得非常好。我正在尋找一個匹配Postgres〜運算符的Unicode大寫字符的正則表達式。 最顯而易見的方法不起作用:Postgresql正則表達式匹配大寫,可識別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)
不是一個正確的答案,但''與我本地postgresql 9.2.1(而不是9.1.6)上的'[[:upper:]]'相匹配 – araqnid
@araqnid在9.2中也匹配我。如果你嘗試使用9.1中的排序規則:'select'Ą'〜'[[:upper:]]'collate「pl_PL」' –
@Clodoaldo明確指定排序對結果沒有影響 – araqnid