📅  最后修改于: 2023-12-03 15:18:38.043000             🧑  作者: Mango
在 PostgreSQL 中,正则表达式可以用来进行复杂的字符串匹配。当需要进行单词匹配时,可以用到正则表达式的单词边界。
单词边界通常用 \y
表示。例如,\yhello\y
匹配单词 "hello",但不匹配 "helloworld"。
如果要匹配单词的开头或结尾,可以使用 ^
和 $
:
SELECT * FROM mytable WHERE regexp_like(mycol, '^\yhello\y$');
这将匹配 mycol
字段中值为 "hello" 的行。
如果要匹配单词边界之外的字符,可以使用 \B
。例如,\Bhello\B
匹配 "helloworld",但不匹配单词 "hello"。
SELECT * FROM mytable WHERE regexp_like(mycol, '\Bhello\B');
使用单词边界可以使正则表达式更加精确地匹配单词。可以通过 \y
匹配单词的开头和结尾,通过 \B
匹配单词边界之外的字符。
记得在 PostgreSQL 中使用正则表达式时,需要使用函数 regexp_like
。