1

MongoDB の JSON クエリ文字列を作成しようとしています。正規表現をサポートするには、引用符なしで値を持つ JSON 文字列を作成する必要があります。Javaでこれをどのように達成しますか、

これが私がやろうとしていることの例です、

  JSONObject obj= new JSONObject();
  String title = "gro";
  obj.put("title", "/.*" + title + ".*/");

結果は

   {"title ":"/.*gro.*/"}

上記は、MongoDB によって正規表現として扱われなくなりました。私が欲しかったのは、

   {"title ":/.*gro.*/}

そのため、MongoDB はそれを正規表現として扱います。Javaでこれを達成する方法はありますか?

4

2 に答える 2

1

区切られた正規表現の/構文は、JavaScript の構成要素です。Java では、次のように使用する必要がありますjava.util.regex.Pattern

BasicDBObject query = new BasicDBObject("title", Pattern.compile(".*gro.*"));
于 2013-03-08T15:30:29.570 に答える
0

これを試して、

  JSONObject obj= new JSONObject();
  String title = "gro";
  String startExpr = "/.*";
  String endExpr = ".*/";

  obj.put("title", startExpr  + title + endExpr );
于 2013-03-08T15:47:49.343 に答える