正则表达式 (RegEx) 在字符串的任何部分中查找特定单词但有字符限制
Regular Expression (RegEx) to find a particular word in any part of a string but has a character limit
我想在 SQL 中使用正则表达式 'LIKE' 函数来搜索包含特定单词的字符串。
例如,假设我有一个文件夹名称列表(来自笔记本电脑),我想搜索所有包含“旧”一词的文件夹。我想要的结果示例:
Folder Name
Old Templates
old Archives
temp - old
然而,当我使用:
WHERE folder LIKE '%Old%'
显然,我得到以下结果:
Folder Name
Old Templates
old Archives
temp - old
Harold Jenkins
Jerry Oldfield
我只想使用正则表达式在字符串的任何阶段搜索单词“Old”,但它只搜索 3 个字符并检索完整的字符串。
只是想知道是否有人可以帮助我 - 谢谢!
通常,like
运算符的功能有限,肯定不如正则表达式。但是,您需要的可以通过
完成
- 在搜索字符串的开头和结尾附加 space 以确保它是不同的词
- 对目标字符串做同样的事情,这样它也会在边缘匹配:
where ' '+folder+' ' like '% old %'
我想在 SQL 中使用正则表达式 'LIKE' 函数来搜索包含特定单词的字符串。
例如,假设我有一个文件夹名称列表(来自笔记本电脑),我想搜索所有包含“旧”一词的文件夹。我想要的结果示例:
Folder Name |
---|
Old Templates |
old Archives |
temp - old |
然而,当我使用:
WHERE folder LIKE '%Old%'
显然,我得到以下结果:
Folder Name |
---|
Old Templates |
old Archives |
temp - old |
Harold Jenkins |
Jerry Oldfield |
我只想使用正则表达式在字符串的任何阶段搜索单词“Old”,但它只搜索 3 个字符并检索完整的字符串。
只是想知道是否有人可以帮助我 - 谢谢!
通常,like
运算符的功能有限,肯定不如正则表达式。但是,您需要的可以通过
- 在搜索字符串的开头和结尾附加 space 以确保它是不同的词
- 对目标字符串做同样的事情,这样它也会在边缘匹配:
where ' '+folder+' ' like '% old %'