Regex MongoDB中正则表达式的语法

Regex MongoDB中正则表达式的语法,regex,database,mongodb,nosql,Regex,Database,Mongodb,Nosql,我打算查找未使用字母z的项目数据: > db.inventory.find( ) { "_id" : ObjectId("5eb67598bee5213484d45087"), "item" : "journal", "qty" : 25, "status" : "A", "size" : { "h" : 14, "w" : 21, "uom" : "cm" }, "tags" : [ "blank", "red" ] } { "_id" : ObjectId("5eb67598bee52

我打算查找未使用字母z的
项目
数据:

> db.inventory.find( )
{ "_id" : ObjectId("5eb67598bee5213484d45087"), "item" : "journal", "qty" : 25, "status" : "A", "size" : { "h" : 14, "w" : 21, "uom" : "cm" }, "tags" : [ "blank", "red" ] }
{ "_id" : ObjectId("5eb67598bee5213484d45088"), "item" : "notebook", "qty" : 50, "status" : "A", "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "tags" : [ "red", "blank" ] }
{ "_id" : ObjectId("5eb67598bee5213484d45089"), "item" : "paper", "qty" : 10, "status" : "D", "size" : { "h" : 8.5, "w" : 11, "uom" : "in" }, "tags" : [ "red", "blank", "plain" ] }
{ "_id" : ObjectId("5eb67598bee5213484d4508a"), "item" : "planner", "qty" : 0, "status" : "D", "size" : { "h" : 22.85, "w" : 30, "uom" : "cm" }, "tags" : [ "blank", "red" ] }
{ "_id" : ObjectId("5eb67598bee5213484d4508b"), "item" : "postcard", "qty" : 45, "status" : "A", "size" : { "h" : 10, "w" : 15.25, "uom" : "cm" }, "tags" : [ "blue" ] }
{ "_id" : ObjectId("5ebfd02b3a3b38a52be04608"), "item" : "journal", "qty" : 25, "tags" : [ "blank", "red" ], "dim_cm" : [ 14, 21 ] }
{ "_id" : ObjectId("5ebfd02b3a3b38a52be04609"), "item" : "notebook", "qty" : 50, "tags" : [ "red", "blank" ], "dim_cm" : [ 14, 21 ] }
{ "_id" : ObjectId("5ebfd02b3a3b38a52be0460a"), "item" : "paper", "qty" : 100, "tags" : [ "red", "blank", "plain" ], "dim_cm" : [ 14, 21 ] }
{ "_id" : ObjectId("5ebfd02b3a3b38a52be0460b"), "item" : "planner", "qty" : 75, "tags" : [ "blank", "red" ], "dim_cm" : [ 22.85, 30 ] }
{ "_id" : ObjectId("5ebfd02b3a3b38a52be0460c"), "item" : "postcard", "qty" : 45, "tags" : [ "blue" ], "dim_cm" : [ 10, 15.25 ] }
> 
这些没有提供任何结果

此页面显示
[^abc]
可用于非a、b或c。

请指出错误。

使用
$not
运算符执行逻辑not操作

> db.inventory.find( { item: { $regex: /^z/, $options: 'm'} } )
> db.inventory.find( { item: { $regex: /^z/ } } )
>

使用
$not
运算符执行逻辑not操作

> db.inventory.find( { item: { $regex: /^z/, $options: 'm'} } )
> db.inventory.find( { item: { $regex: /^z/ } } )
>
MongoDB使用

在字符类中,插入符号表示否定:
/[^abc]/
匹配包含除
a
b
c
以外的任何字符的字符串。这将匹配“测试”、“滑车”和“猫”,但不匹配“驾驶室”

在模式的开头,插入符号与字符串的开头匹配:
/^z/
仅当比较的字符串以
z
开头时匹配

美元符号可用于匹配字符串的结尾:
/z$/
仅当字符串以
z
结尾时匹配

星号可用于匹配字符或类的重复,
/[^z]*/
将匹配零个或多个非
z

如果要仅在字符串不包含
z
时进行匹配,可以使用否定字符类,并将重复定位到字符串的开头和结尾:

db.inventory.find( { item: { $not: /^z/ } } )
或者,您可以使用
z
$not
运算符的未编排匹配:

db.inventory.find( { item: { $regex: /^[^z]*$/ } } )
有关更多详细信息,请参阅。

MongoDB使用

在字符类中,插入符号表示否定:
/[^abc]/
匹配包含除
a
b
c
以外的任何字符的字符串。这将匹配“测试”、“滑车”和“猫”,但不匹配“驾驶室”

在模式的开头,插入符号与字符串的开头匹配:
/^z/
仅当比较的字符串以
z
开头时匹配

美元符号可用于匹配字符串的结尾:
/z$/
仅当字符串以
z
结尾时匹配

星号可用于匹配字符或类的重复,
/[^z]*/
将匹配零个或多个非
z

如果要仅在字符串不包含
z
时进行匹配,可以使用否定字符类,并将重复定位到字符串的开头和结尾:

db.inventory.find( { item: { $not: /^z/ } } )
或者,您可以使用
z
$not
运算符的未编排匹配:

db.inventory.find( { item: { $regex: /^[^z]*$/ } } )

有关更多详细信息,请参阅。

您可以查看下面的链接,也许它会对您有所帮助。这回答了你的问题吗
$regex://^(?。*z)//
如果可以的话,您可以查看下面的链接,也许它会对您有所帮助。这回答了你的问题吗<代码>$regex://^(?。*z)//应该可以工作