我正在运行下面给出的查询。
db.CollectionName.find({'serviceName':{'$regex':'^(ALBUMIN$','$options':'si'}})
我遇到以下错误。
Error: error: {
"ok" : 0,
"errmsg" : "Regular expression is invalid: missing )",
"code" : 2,
"codeName" : "BadValue"
}
由于方括号可以在字符串中的任何位置,如何避免此错误? 像-((ALBUMIN或((ALBUMIN)等。
答案 0 :(得分:1)
您需要转义(字符。您可以使用 \ 在正则表达式中转义特殊字符。因此,对于您的情况,就像
db.CollectionName.find({'serviceName':{'$regex':'^\\(ALBUMIN$','$options':'si'}})
您随时可以在https://regex101.com/上测试正则表达式。