求一个数据库或者正则大佬帮忙解决一个字符匹配的问题.

2020-12-19 11:02:59 +08:00
 huangzhiyia
    user = models.ForeignKey(User, on_delete=models.CASCADE, verbose_name="用户")
    folder = models.CharField(max_length=768, default="/", verbose_name="目录")
    file_name = models.CharField(max_length=256, default=None, null=True, verbose_name="文件名")
    file_size = models.BigIntegerField(default=0, verbose_name="文件大小,Bytes")

'/a/c/d/e/f'

'/a/1.txt'

'/a/2.word'

要求:查出所有 /a/ 开头的字符串, 但后续字符串中不包含 / 以及之后的字符内容

传入参数 '/a/' ,将查询到

/a/1.txt

/a/2.word 数据.

最好是 SQL 语句,实在不行正则表达式也可以.

真的不擅长写复杂的正则表达式与 SQL 命令,如果自己查资料学,折腾的话可能要一两天,

对于经验丰富的开发者来说可能只需要 3-10 分钟.

所以如果您抽空(摸鱼)的间隙的回答能帮助到我,我将赠与您一杯奶茶钱(15 CNY)表示感谢

(支付宝账号私发我邮箱:本站用户名 @gmail.com)

1010 次点击
所在节点    问与答
9 条回复
liprais
2020-12-19 11:06:13 +08:00
15 块钱是来侮辱人的么
还是你一天的时间就值十五块钱?
raaaaaar
2020-12-19 11:09:14 +08:00
你不说钱大家可能看看顺手就写了,要说钱就这
huangzhiyia
2020-12-19 11:11:41 +08:00
@liprais 回复旁边两个字:请尽量让自己的回复能够对别人有帮助.

如果您觉得这篇提问帖子侮辱您,您可以直接 block 我而不是制造噪音与纷争.
huangzhiyia
2020-12-19 11:17:06 +08:00
@raaaaaar 也许我表达有误,但我是想表达对别人的帮助感恩,这帖子不是有偿解决问题,这是两码事.

再退一步讲:大佬可能抽空三分钟可能就解决了,换算时薪是 300 块一天 2400 块,试问论坛有多少人的薪水能到达这个地步?
huangzhiyia
2020-12-19 11:28:24 +08:00
花了 10 分钟学习了下写出来了,正则是

/a/.(?!/).+

希望对后来者有帮助.
makdon
2020-12-19 12:20:15 +08:00
但是你这样写,每次查 DB 都要扫全表做正则匹配吧...数据量大一点性能应该很捉鸡
huangzhiyia
2020-12-19 13:39:45 +08:00
@makdon 是啊,现在我重新设计模型了,增加一个指向自身的目录外键。
chitanda
2020-12-19 14:31:40 +08:00
听我一句劝,这些东西,你现在觉得难不去学,以后一直这么难,大家都是这么克服过来的,没有人一上来就懂正则和数据库设计。现在有别人帮你写,以后呢?面试呢?
huangzhiyia
2020-12-19 18:21:05 +08:00
@chitanda 谢谢你的建议,但是不是难不难的问题,而是解决问题的效率的问题,并且共享问题以及答案供后人参考。

我遇到的问题,自己解决了,别人遇到类似的问题,搜索引擎找不到问题也要自己解决。

共享知识与踩过的坑,给互联网多一份参考答案。

如果大家都是看源码默默解决,请教周围的人,stackoverflow 这类社区也没存在的必要,这社区的板块也没存在的必要,在新的领域谁不是新手一步一步走来,学习最好的方式就是提问。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/736985

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX