ActiveRecord正则表达式搜索全字

时间:2015-04-14 23:14:29

标签: sql ruby-on-rails regex activerecord sql-like

我想通过关键字搜索ActiveRecord模型Product,但我只想匹配其description中的整个单词而不是任意子串。

说我有字符串

'the packaging May Vary'

作为Product的{​​{1}},然后使用关键字description 的搜索不应匹配,而是搜索'aging' 应该匹配。因此,通过单词,字符串的开头或结尾进行匹配。我想做这样的事情:

'packaging'

我应该用Product.where("description ~* ?", "Regexp")

替换Regexp

1 个答案:

答案 0 :(得分:1)

Product.where("description ~* ?", "\m#{string}\M")

\m仅匹配单词的开头,\M仅匹配单词的结尾。更多信息:http://www.postgresql.org/docs/9.0/static/functions-matching.html