De regexp_matches(string text, pattern text [, flags text])
functie retourneert de vastgelegde waarden:
U kunt de uitdrukking corrigeren met niet-vastleggende groepen:
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'));
Bekijk de online demo .
Tussen haakjes, je hoeft niet te ontsnappen aan -
wanneer het aan het begin/einde van de haakuitdrukking staat en het niet nodig is om /
te escapen noch .
daar. Ik stel ook voor om {1}
. te verwijderen als a
=a{1}
in elke regex die beperkende kwantoren ondersteunt.