How to use capture groups in a regex in Data explorer?

I get an error when I try to use capture groups with a question mark (...)?. For example:

select p.raw 
from posts p 
where p.raw ~* '^(muchas )?gracias$' 
limit 1;

This is the error:

ActiveRecord::PreparedStatementInvalid: wrong number of bind variables (1 for 2) in: /*
 * DataExplorer Query
 * Query: /admin/plugins/explorer?id=12
 * Started by: nacho
 */
WITH query AS (
select p.raw from posts p where p.raw ~* '^(muchas )?gracias$' limit 1
) SELECT * FROM query
LIMIT 1000

This works perfectly when querying the DB directly. Is there a way to bypass this in Data Explorer?

2 Likes

Sorry for the late reply. Your topic turned up when I searched for the error message you have reported.

I was recently looking at a similar issue. Oddly, the query can be run in the Data Explorer if the following comment is added: /*:0*/. For example:

select p.raw 
from posts p 
where p.raw ~* '^(muchas )?gracias$' 
limit 1

/*:0*/
4 Likes