regexp_matches(string text, pattern text [, flags text])
hàm trả về các giá trị đã chụp:
Bạn có thể sửa biểu thức bằng cách sử dụng các nhóm không nắm bắt:
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'));
Xem bản trình diễn trực tuyến .
BTW, bạn không cần phải thoát -
khi nó nằm ở đầu / cuối của biểu thức dấu ngoặc và không cần phải thoát /
cũng không phải .
ở đó. Tôi cũng khuyên bạn nên xóa {1}
dưới dạng a
=a{1}
trong bất kỳ regex nào hỗ trợ các bộ định lượng giới hạn.