regexp_matches(string text, pattern text [, flags text])
функция връща уловените стойности:
Можете да коригирате израза, като използвате групи без прихващане:
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'));
Вижте онлайн демонстрация .
Между другото, не е нужно да избягвате -
когато е в началото/края на израза в скоби и няма нужда да се екранира нито /
нито .
там. Предлагам също да премахнете {1}
като a
=a{1}
във всеки регулярен израз, поддържащ ограничаващи квантори.