The following bug has been logged on the website:
Bug reference: 12609
Logged by: Trevor J Peschek
Email address: trevor@adchemix.com
PostgreSQL version: 9.3.3
Operating system: Red Hat 4.6.3-2
Description:
When using regexp_matches while referencing a location in the array, if the
match fails, the entire row is skipped instead of just a null for the column
using regexp_matches. Example:
select
aColumn,
(regexp_matches(queryCol, '(https?)://(.*?)/(.*?)\?(.*?)'))[3]
from myTable
Even if the column with the regexp_matches returns a null, we would expect
the row to be populated with aColumn and then a null. What happens though
is nothing is returned.