2

記号で始まり:{"で終わり、末尾が:"}文字列を指定します。行の間に他の句読点もあります。たとえば、:、'、 ""などです。javaregexユーティリティを使用して、指定された文字列が:{"で始まるかどうかを確認する方法。次を使用してブール値を返そうとしています。

Pattern.matches(begin, string) 

どこ

begin = "[\\p{Punct}&&[{]]" 

string = {"name":"Aman"},{"surname":"Gupta"}. 

(JSONよりも正規表現オプションを提案してください)正規表現のみを使用して実行したいと思います。これを達成する方法を提案してください。

4

2 に答える 2

3

次のように試す必要があります。

 Pattern p = Pattern.compile("\{.*?\}");
 Matcher m = p.matcher(/*your string here*/);
 while (m.find()){
     String substringInBraces = m.group();
     /*do smth with your substring*/
 }

これにより、最も近い 2 つの中かっこの間にある可能性のあるものの部分文字列が得られます。

これこれを読むことに興味があるかもしれません

于 2012-09-10T13:33:11.110 に答える
2

Pattern.compile("^{").matcher(string).find()

なぜあなたが使用を主張するのか分かりませんが、\\p{Punct}ここではまったく不要です。

Pattern.matches()文字列全体を一致させたいので、文字列の先頭で何かを一致させたいだけの場合は役に立ちません。

于 2012-09-10T13:25:16.947 に答える