首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用like/rlike筛选出两边都有空格的字符串

如何使用like/rlike筛选出两边都有空格的字符串
EN

Stack Overflow用户
提问于 2019-05-10 18:52:35
回答 1查看 930关注 0票数 1

我正在尝试编写一个查询,以查找除了空格之外没有空格的字符串。这意味着“xx applexx”、“xxapple xx”和“xx apple xx”是不可接受的,但是应该查询“xxapplexx”。

我试过了

代码语言:javascript
复制
select a
from b
where b.c not rlike '(an apple | an apple)'

但这句话似乎是错的。

更多示例:假设我们在数据库中有4条记录:

代码语言:javascript
复制
    Name    Data
    a    I have an appleYo
    b    I havean apple Yo
    c    I have an apple Yo
    d    I havean appleYo

预期结果应是:

代码语言:javascript
复制
    Name    Data
    d    I havean appleYo
EN

回答 1

Stack Overflow用户

发布于 2019-05-10 20:52:33

你可以用

代码语言:javascript
复制
where b.c rlike '\\Sapple\\S'

或者,如果要从匹配中“排除”非巫术空间字符(这在rlike场景中不是首选的,而是使用替换操作)。

代码语言:javascript
复制
where b.c rlike '(?<=\\S)apple(?=\\S)'

regex演示

详细信息

  • \S -除空格外的任何字符
  • (?<=\S) -一个积极的查找,需要任何字符,但在当前位置之前的空白
  • (?=\S) -一个积极的前瞻性,需要任何字符,但在当前位置后立即空白。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56083349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档