sql >> Database >  >> RDS >> PostgreSQL

geïnternationaliseerde reguliere expressie in postgresql

PostgreSQL ondersteunt geen tekenklassen op basis van de Unicode Character Database zoals .NET dat wel doet. Je krijgt de meer standaard [[:alpha:]] karakterklasse, maar dit is afhankelijk van de landinstelling en zal het waarschijnlijk niet dekken.

U kunt misschien wegkomen door de ASCII-tekens die u niet wilt op de zwarte lijst te zetten en alle niet-ASCII-tekens toe te staan. bijv. zoiets als

[^\s!"#$%&'()*+,\-./:;<=>?\[\\\]^_`~]+

(JavaScript heeft ook geen niet-ASCII-tekenklassen. Of zelfs [[:alpha:]] .)

Bijvoorbeeld, gegeven v_text als een tekstvariabele die moet worden opgeschoond:

-- Allow internationalized text characters and remove undesired characters
v_text = regexp_replace( lower(trim(v_text)), '[!"#$%&()*+,./:;<=>?\[\\\]\^_\|~]+', '', 'g' );



  1. Mysql localhost !=127.0.0.1?

  2. Hoe een IF-statement in SQL uit te voeren?

  3. Oracle PL/SQL - Verzamelingen (geneste tabellen)

  4. Interviewvragen voor data-ingenieurs met Python