gpt4 book ai didi

regex - 这两个 MongoDB $regex 语法有什么区别?

转载 作者:可可西里 更新时间:2023-11-01 09:24:13 29 4
gpt4 key购买 nike

假设我想搜索用户名中包含字符串“foo”的所有用户。以下内容之间有什么实际区别吗?

db.users.findOne({"username" : {$regex : ".*foo.*"}})

和:

db.users.findOne({"username" : {$regex : "foo"}})

两者似乎都有效。但是有人可以解释一下区别吗?

最佳答案

两者都可以工作,但是 .*foo.* 需要更多时间来返回有效匹配,因为 backtracking .*foo.*.

将“一些 foo 文本”与 /.*foo.*/ 进行比较:

enter image description here

/foo/ :

enter image description here

请注意,第一个正则表达式中 foo 之前的第一个 .* 会使其变慢,因为 . 可以同时匹配 fos。

关于regex - 这两个 MongoDB $regex 语法有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38431306/

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