MongoDB中regex操作符的介紹

2021-08-20 11:46:53 字數 766 閱讀 7155

regex操作符的介紹

mongodb使用$regex操作符來設定匹配字串的正規表示式,使用pcre(pert compatible regular expression)作為正規表示式語言。

regex操作符}}

}正規表示式物件

$regex與正規表示式物件的區別:

在$in操作符中只能使用正規表示式物件,例如:}

在使用隱式的$and操作符中,只能使用$regex,例如:}

當option選項中包含x或s選項時,只能使用$regex,例如:}

$regex操作符的使用

$regex操作符中的option選項可以改變正則匹配的預設行為,它包括i, m, x以及s四個選項,其含義如下

i 忽略大小寫,},設定i選項後,模式中的字母會進行大小寫不敏感匹配。

m 多行匹配模式,,m選項會更改^和$元字元的預設行為,分別使用與行的開頭和結尾匹配,而不是與輸入字串的開頭和結尾匹配。

x 忽略非轉義的空白字元,,設定x選項後,正規表示式中的非轉義的空白字元將被忽略,同時井號(#)被解釋為注釋的開頭注,只能顯式位於option選項中。

s 單行匹配模式,設定s選項後,會改變模式中的點號(.)元字元的預設行為,它會匹配所有字元,包括換行符(\n),只能顯式位於option選項中。

使用$regex操作符時,需要注意下面幾個問題:

i,m,x,s可以組合使用,例如:}

在設定索弓}的字段上進行正則匹配可以提高查詢速度,而且當正規表示式使用的是字首表示式時,查詢速度會進一步提高,例如:

mongodb 字串查詢匹配中 regex的用法

舉個例子來說 現在有以下集合 官網的例子 db.collection.find 等效於下面這種寫法 db.collection.find 以上是個簡單的應用。引數介紹 option description 引數 i 加了這個引數,表示不區分大小寫 引數 m 個人理解這個引數是用來匹配value中有換...

boost中regex的使用

boost是對stl的補充,regex是其中乙個模組。各方法類別很多,本文記錄常用方法。引入標頭檔案 1.regex match regex reg d string str 123 bool b regex match str,reg 2.regex replace string s,regex ...

php操作mongodb中的ISODate格式日期

mongodb 中資料記錄的日期格式為 datecreated isodate 2011 12 20t07 22 50.836z 經過翻閱php官網中的mongodb部分得知,要操作mongodb中的日期須要使用以下關鍵語句 start new mongodate strtotime 1 day e...