使用正则表达式查询Activerecord



我需要找到包含给定子字符串(art)的所有记录,并且条件是给定子字符串是字符串内的完整单词或字符串内任何单词的开头。

示例数据。项目

id | name
-----------
10 | Report of Quarter 1
11 | The Art Program
12 | The Artificial Program

从上面的数据,我一定能得到记录编号11和12,但不是10。

我正在努力。

Program.where("name ~* ?",'artb')但是它不起作用

我也试过了Program.where("regexp_match(name, ?)",'/artb/i')

任何帮助都是非常值得感激的。谢谢!

EDITED

我猜你正在使用Postgres,因为你给了regexp_match

的例子TryProgram.where("name ~* ?",'mart'):)

你可以看到隐藏在Postgres文档("正则表达式转义"节),b表示"退格",如C"而m"只匹配单词的开头">

相关内容

  • 没有找到相关文章

最新更新