MariaDB regex working in online regex testers does not work in SELECT WHERE REGEXP

Viewed 4079

I'm having a problem a dataset I have been given in bad format E.G fullName column and no breakdown of names I'm wanting to search where any of the names start with a given letter E.G 'J'

So this is my Statement but I just get complaints about unexpected REGEXP

SELECT * FROM `Officers` WHERE `fullName` REGEXP '.*\sJ.*';

Is there any way to do this in MariaDB, unfortunately, the names are not of a fixed word count some are only 2 names others are 6 names long so 4 middle names.

2 Answers

You may use

REGEXP '\\bJ'
        ^^^

Here, the \b is a word boundary that will force a match only when J is not preceded with a letter, digit or _.

The \ is doubled because the regex engine expects a literal \, and two backslashes are required.

Related