Thread: BUG #18438: regex isnt working for "^" , ".*"
The following bug has been logged on the website: Bug reference: 18438 Logged by: Ankur Kumar Email address: ankurawesome37@gmail.com PostgreSQL version: 14.5 Operating system: macos ventura version 13.5 Description: hey , i am getting empty query result while using postgres regex operator "^" , ".*" etc . I am able to use "%" correctly but not getting any response for other regex operator . For example - There is a user in users table with > first_name - "aman", last_name - "kumar" . But while quering i am not getting any result while querying users table -> 1) SELECT id from users where concat(users.first_name, ' ', users.last_name) ILIKE '^am' 2) SELECT id from users where concat(users.first_name, ' ', users.last_name) ILIKE 'am.*' 3) SELECT id from users where concat(users.first_name, ' ', users.last_name) ILIKE '^am%' Above queries didnt return any result But it works for this query - SELECT id from users where concat(users.first_name, ' ', users.last_name) ILIKE 'am%' LIMIT 100
On Mon, Apr 15, 2024 at 1:20 PM PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:
Bug reference: 18438
Logged by: Ankur Kumar
Email address: ankurawesome37@gmail.com
PostgreSQL version: 14.5
Operating system: macos ventura version 13.5
Description:
hey , i am getting empty query result while using postgres regex operator
"^" , ".*" etc . I am able to use "%" correctly but not getting any response
for other regex operator
As the opening paragraph of the relevant docs say:
There are three separate approaches to pattern matching provided by PostgreSQL: the traditional SQL LIKE operator, the more recent SIMILAR TO operator (added in SQL:1999), and POSIX-style regular expressions. Aside from the basic “does this string match this pattern?” operators, functions are available to extract or replace matching substrings and to split a string at matching locations.
You are mixing the first and third ones together.
David J.