sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL regexp_replace med matchat uttryck

Okej, hittade svaret. Tydligen måste jag dubbel-undkomma snedstrecket i ersättaren. Jag måste också E -prefix och double-escape backslashes i sökmönstret på äldre versioner av postgres (8.3 i mitt fall). Den slutliga koden ser ut så här:

regexp_replace('abc [def]', E'([\\[\\]\\(\\)\\\\\?\\|_%])', E'\\\\\\1', 'g')

Ja, det ser hemskt ut, men det fungerar :)



  1. Kör en dynamisk korstabellsfråga

  2. fråga med count subquery, inre join och group

  3. Mysqli välj från två tabeller

  4. Hur säker är autentisering i mysql-protokollet?