通常の数字の場合はdigit
を使用します [[:digit:]]
としての文字クラス または省略形の\d
:
SELECT regexp_replace('s4y8sds', $$\d+$$, '', 'g');
結果:
regexp_replace
----------------
sysds
(1 row)
他の数値(たとえば¼)はそれほど単純ではなく、より正確にはドキュメント ctype(ロケール)に依存していると言います:
ただし、内部PL / Perl手続き型言語を使用して、必要なUnicode文字クラス\p{}
を使用してサーバー側関数を作成することはできます。 :
CREATE OR REPLACE FUNCTION removeNumbersUnicode(text)
RETURNS text AS $$
$s = $_[0];
$s =~ s/\p{N}//g;
return $s;
$$ LANGUAGE plperl;
第41章 を確認してください このような関数の記述方法の詳細については、ドキュメントから。