sql >> Databáze >  >> RDS >> PostgreSQL

internacionalizovaný regulární výraz v postgresql

PostgreSQL nepodporuje třídy znaků založené na Unicode Character Database jako .NET. Získáte standardnější [[:alpha:]] znaková třída, ale to je závislé na národním prostředí a pravděpodobně to nepokryje.

Možná se vám podaří dostat se na černou listinu ASCII znaků, které nechcete, a povolit všechny jiné než ASCII znaky. např. něco jako

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

(JavaScript také nemá třídy znaků než ASCII. Nebo dokonce [[:alpha:]] .)

Například zadaný v_text jako textová proměnná, která má být dezinfikována:

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



  1. Jak automaticky zavřít nečinná připojení v PostgreSQL?

  2. Jak zadat číslo portu v připojovacím řetězci SQL Server?

  3. 5 nejlepších online kurzů pro výuku MySQL

  4. Nastavení MySQL InnoDB Cluster s MySQL Shell (plus MySQL Router)