\b
だからです 両側に単語文字がある場合にのみ一致します。あなたの場合、\b
はスペース文字と開き/閉じ括弧で囲まれていますが、どちらも「単語」文字ではありません。したがって、\b
一致は失敗します。
あなたができる
\\b0aef4666-3627-4c24-8e50-b0cf9a723823\\b
これは\b
と一致します 今は単語の境界にあるからです。
または、スペースまたは行の開始/終了と照合することもできます:
db.test.find({"text": /(^|\s)\(0aef4666-3627-4c24-8e50-b0cf9a723823\)($|\s)/i} )