我正在使用带有 VB.NET 和 ODBC (Windows) 的 PostgreSQL 数据库。
我通过将 SELECT 与正则表达式相结合来搜索整个单词的句子,如下所示:
"SELECT dtbl_id, name
FROM mytable
WHERE name ~*'" + "( |^)" + TextBox1.Text + "([^A-z]|$)"
这在某些情况下搜索得很好,但由于文本中的语法错误(或其他原因),它有时会失败。例如,如果我有句子
比利偶像:白色婚礼
将找到“白色”一词。但如果我有
冲突白暴动
然后找不到“white”,因为单词“white”的开头之间没有空格。
最简单的解决方案是将句子:,.\/-=
等中的字符临时更改或替换为空格。
这是否可以在单个 SELECT 行中执行以适合与 .NET/ODBC 一起使用?也许在同一个正则表达式中?
如果是,怎么做?