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

Syntaxe regexp_matches Postgresql nefunguje podle očekávání

The regexp_matches(string text, pattern text [, flags text]) funkce vrací zachycené hodnoty:

Výraz můžete opravit pomocí nezachycujících skupin:

SELECT unnest(regexp_matches('4-0001-1234 4.0001.12344  4-0-0-0-1-1234', '4(?:[\s/.-]*0){3}(?:[\s/.-]*[12])(?:[\s/.-]*\d){4}', 'g'));

Podívejte se na online demo .

BTW, nemusíte escapovat - když je na začátku/konci výrazu v hranatých závorkách a není třeba escapovat ani / ani . tam. Navrhuji také odstranit {1} jako a =a{1} v jakémkoli regulárním výrazu podporujícím omezující kvantifikátory.




  1. Při instalaci Magento dochází k chybě připojení k databázi.

  2. Dynamicky získávejte názvy parametrů a aktuální hodnoty uvnitř uložené procedury T-SQL

  3. Jak mohu vytvořit týdenní tabulku kohortové analýzy pomocí mysql?

  4. Symfony3 - SQLSTATE[HY000] [2002] Žádný takový soubor nebo adresář