PostgreSQLは、.NETのようにUnicode文字データベースに基づく文字クラスをサポートしていません。より標準的な[[:alpha:]]
を取得します 文字クラスですが、これはロケールに依存するため、おそらくカバーされません。
不要なASCII文字をブラックリストに登録し、すべての非ASCII文字を許可するだけで解決できる場合があります。例:
[^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]+
(JavaScriptには非ASCII文字クラスもありません。または[[:alpha:]]
。)
たとえば、与えられたv_text
サニタイズするテキスト変数として:
-- Allow internationalized text characters and remove undesired characters
v_text = regexp_replace( lower(trim(v_text)), '[!"#$%&()*+,./:;<=>?\[\\\]\^_\|~]+', '', 'g' );