gpt4 book ai didi

javascript - 正则表达式匹配不是有效 mongo id 的字符串

转载 作者:行者123 更新时间:2023-11-28 04:59:43 36 4
gpt4 key购买 nike

In other posts他们解释了如何通过正则表达式匹配 MongoDB 对象 ID。我正在寻找相反的情况:给定一个字符串,如果它不是有效的 mongo 对象 ID,则返回正值的正则表达式。换句话说,我想匹配所有不是 mongodb 对象 id 的东西。

我认为它应该像否定(?!)正则表达式一样简单,但我无法使其正确。

正则表达式应该在 Javascript 和 Python3 中工作(它可以是两个不同的正则表达式)。如果需要的话,我可以接受少量的精度损失,并且字符串可以有空格但不能有换行符。

例如,全名 (James Bond) 应匹配正数,但 (45cbc4a0e4123f6920000002) 则不匹配

More about Mongodb object Ids .

谢谢:-)

最佳答案

可能是这样:

const isNotMongoObject = id => !/^(?=[a-f\d]{24}$)(\d+[a-f]|[a-f]+\d)/i.test(id)

const testIds = [" James Bond ", "45cbc4a0e4123f6920000002", "112345679065574883030833", "FFFFFFFFFFFFFFFFFFFFFFFF", "45cbc4a0e4123f6920000002", ` James
Bond `]
for (const id of testIds) {
console.log(`${id} ${isNotMongoObject(id)}`)
}

def isNotMongoObject id:
return re.match(r"^(?=[a-f\d]{24}$)(\d+[a-f]|[a-f]+\d)", id) is not None

关于javascript - 正则表达式匹配不是有效 mongo id 的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42232083/

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