0

I need to match and replace all UPPERCASE word in a Postgres string field like

'SANNAZZARO DE' BURGONDI Italia, 46 (Direzione Sud)'
'S.MARGHERITA STAFFORA Vallechiara (Bivio Montemartino)'
'GARLASCO Cavour/Oriani'
'GAMBOLO' Umberto I, 312'

This regular expression:

\b[A-Z'\''.]{2,}\b

tested with https://regex101.com/ works (except for 'GAMBOLO' Umberto I, 312').

But It doesn't work in postgres:

SELECT REGEXP_MATCHES('GARLASCO Cavour/Oriani', '\b[A-Z\''.]{2,}\b','g');
SELECT REGEXP_REPLACE('GARLASCO Cavour/Oriani',' \b[A-Z\''.]{2,}\b','','g')

match nothing.

Also I try without \''.

SELECT REGEXP_MATCHES('GARLASCO Cavour/Oriani', '\b[A-Z]{2,}\b','g');
SELECT REGEXP_REPLACE('GARLASCO Cavour/Oriani',' \b[A-Z]{2,}\b','','g')
franco_b
  • 868
  • 3
  • 13
  • 31

0 Answers0