📜  postgres 正则表达式单词边界 - SQL (1)

📅  最后修改于: 2023-12-03 15:18:38.043000             🧑  作者: Mango

postgres 正则表达式单词边界 - SQL

在 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