Read more

Word boundaries in MySQL regular expressions

Henning Koch
December 19, 2010Software engineer at makandra GmbH

In regular expressions you can use the zero-width pattern \b to match the beginning or end of a word:

note.title =~ /\bfoo\b/
Illustration online protection

Rails Long Term Support

Rails LTS provides security patches for old versions of Ruby on Rails (2.3, 3.2, 4.2 and 5.2)

  • Prevents you from data breaches and liability risks
  • Upgrade at your own pace
  • Works with modern Rubies
Read more Show archive.org snapshot

Unfortunately \b is not available in MySQL. You can use [[:<:]] and [[:>:]] to match the beginning and end of a word instead:

SELECT * FROM notes WHERE title REGEXP "[[:<:]]foo[[:>:]]"

These markers are unique to MySQL and not available in Ruby regular expressions.

Posted by Henning Koch to makandra dev (2010-12-19 22:59)