gpt4 book ai didi

python - 如何在 pymongo 中否定正则表达式

转载 作者:太空宇宙 更新时间:2023-11-03 15:30:42 25 4
gpt4 key购买 nike

是否可以在 pymongo 中否定正则表达式?我想要获取 date 字段的格式不是 YYYY-MM-DD 的文档。

我已经尝试过

regex = '/^\d{4}-\d{2}-\d{2}$/' 
col.find({'date': {'$not': re.compile(regex)}}, {'_id': 0, 'date': 1})

但它没有达到我想要的效果。

最佳答案

否定 ^\d{4}-\d{2}-\d{2}$ 模式意味着您想要匹配任何不符合该模式的字符串。

您可以使用基于负向前瞻的正则表达式,并在代码内不使用任何否定来使用它:

^(?!\d{4}-\d{2}-\d{2}$)

由于该模式用于部分匹配字符串,因此该模式将查找不以 4 位数字、-、2 位数字、-< 开头的字符串中的起始位置 和 2 位数字,后跟字符串标记的结尾。

请参阅regex demo .

要禁止空匹配,请在模式末尾添加 .

关于python - 如何在 pymongo 中否定正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42911809/

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