我想进行词边界搜索。例如,假设您有以下条目:使用PyMongo的Word边界RegEx搜索
- “厨师”。 “厨师”
- “厨师”
- “厨师”。 “厨师”
- “厨师”
- “厨师”。
并进行搜索以查找包含“cook”作为整体的条目。也就是说,只有第3,第4和第5个条目应该被返回。
在这种情况下,当我使用\b
字边界语句时,由于自动转义它会以某种方式变形。
import re, pymongo
# prepare pymongo
collection.find({"entry": re.compile('\bcook\b').pattern})
当我打印查询字典里,\b
变得\\b
。
我的问题是如何使用PyMongo进行文字边界搜索?我能够在MongoDB shell中执行此操作,但在PyMongo中失败。
我认为它需要'\\ \\ bcook B' –
是,'\ bcook \ B'变成'\\ \\ bcook B' – Muatik
试试['R'\ bcook \ b “'](http://stackoverflow.com/questions/2241600/python-regex-r-prefix)。 – Sam