Rails SQL regular expression

On Rails 4+ with a Postgres database the general form of a RegEx query is:

Model.where("column ~* ?", 'regex')

As for the regex, it can be a general '^A\d+$' or more specific '^A\d{4}$'
Breaking it down:

^ - string start anchor
A - literal "A"
\d+ - one or more digits (0-9)
\d{4} - exactly four digits
$ - string end anchor

Basically, the regex reads “the string should start with an A, followed by four digits and then the string should end”.
The final query line is:

@max_draw = Drawing.where("drawing_number ~* ?", '^A\d{4}$')

Further reading on ruby RegEx at RubyDoc or the more accessible Perl variant (used by Sublime text)

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)