regexp_matches(string text, pattern text [, flags text])
funktion returnerar de fångade värdena:
Du kan fixa uttrycket med hjälp av icke-fångande grupper:
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'));
Se onlinedemon .
BTW, du behöver inte escape -
när det är i början/slutet av hakparentesuttrycket och det inte finns något behov av att escape varken /
inte heller .
där. Jag föreslår också att du tar bort {1}
som a
=a{1}
i alla regex som stöder begränsande kvantifierare.