gpt4 book ai didi

mysql - 需要 MySQL RLIKE 表达式来排除以特定字符结尾的某些字符串

转载 作者:行者123 更新时间:2023-11-30 23:41:41 28 4
gpt4 key购买 nike

所以我一直在与 RLIKE 合作,在一个新的应用程序中提取一些数据,并且非常享受它。

迄今为止,我一直在使用 RLIKE 查询返回 3 种类型的结果(文件、目录和所有内容)。

查询(和示例结果)如下:

**All**:

SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+$' ORDER BY obj_namespace

user/test/public/a-test/.comment
user/test/public/a-test/.delete
user/test/public/directory/
user/test/public/directory/image.jpg
user/test/public/index
user/test/public/site-rip
user/test/public/site-rip2
user/test/public/test-a
user/test/public/widget-test

**Files**:

SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+[-0-9a-z_.]+$' ORDER BY obj_namespace


user/test/public/a-test/.comment
user/test/public/a-test/.delete
user/test/public/directory/image.jpg
user/test/public/index
user/test/public/site-rip
user/test/public/site-rip2
user/test/public/test-a
user/test/public/widget-test

**Directories**:

SELECT * FROM public WHERE obj_owner_id='test' AND obj_namespace
RLIKE '^user/test/public/[-0-9a-z_./]+/$' ORDER BY obj_namespace

user/test/public/directory/

这适用于上述 3 种基本情况,但在某些情况下,我将包含特殊的“后缀”,我希望将其排除在查询结果之外(无需求助于 PHP 函数来执行此操作)。

这种字符串的一个很好的例子是:

user/test/public/a-test/.delete

该数据(有更多的行然后只是 obj_namespace)被认为已删除,在 FilesAll 类型的查询中我希望它在表达式中被省略如果可能的话。

同样适用于/.comments 并且所有此类元数据将始终采用相同的格式:

/.[sometext]

我希望在整个应用程序中广泛使用此功能,因此我希望可能有一个非常简单的答案。 (交叉手指)

无论如何,一如既往地感谢您的任何/所有回复和反馈。

最佳答案

听起来你可以为每个查询添加另一个条件:

... AND obj_namespace NOT RLIKE '/[.][a-z]+$' ...

关于mysql - 需要 MySQL RLIKE 表达式来排除以特定字符结尾的某些字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496908/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com