Re: BUG #18510: jsonpath does not support trailing backslash at the end of the query - Mailing list pgsql-bugs

From Lex Vorona
Subject Re: BUG #18510: jsonpath does not support trailing backslash at the end of the query
Date
Msg-id CAL_Jc-GS93kStpeJhuuWrpWZx=v85SDorVvNH+OO9vMfS9bFmQ@mail.gmail.com
Whole thread Raw
In response to Re: BUG #18510: jsonpath does not support trailing backslash at the end of the query  ("David G. Johnston" <david.g.johnston@gmail.com>)
List pgsql-bugs
Thank you. The bug can be closed then and I will make sure I have enough slashes coming through. The query originates in a Java string, meaning it will be eight trailing slashes to match.

Thanks again for a quick response.

-- Lex

On Fri, Jun 14, 2024 at 1:32 PM David G. Johnston <david.g.johnston@gmail.com> wrote:
On Fri, Jun 14, 2024 at 1:24 PM PG Bug reporting form <noreply@postgresql.org> wrote:
The following bug has been logged on the website:

Bug reference:      18510
Logged by:          Lex Vorona
Email address:      voronaam@gmail.com
PostgreSQL version: 16.3
Operating system:   Linux (Ubuntu)
Description:       

postgres=# select '$.field ? (@ like_regex "a\\")'::jsonpath; -- does not
work
ERROR:  invalid regular expression: invalid escape \ sequence
LINE 1: select '$.field ? (@ like_regex "a\\")'::jsonpath;


It is working just fine.  It sees both the regex and the backslash character and then helpfully tells you that the regex you wrote is bogus since the backslash you wrote isn't escaping anything.

If you need a literal backslash in a jsonpath string literal you need to write four of them.  Each pair leaves one \ in the regex and then \\ in a regex is just a literally matched character.

David J.

pgsql-bugs by date:

Previous
From: Rafael Thofehrn Castro
Date:
Subject: Inconsistent increment of pg_stat_database.xact_rollback with logical replication
Next
From: Robert Treat
Date:
Subject: Re: BUG #18508: Not all packages are present in the repo on rhel 8