正则表达式 - 非法重复?

guy*_*and 8 java regex

在Java中使用Regex.我一直试图让它发挥作用,但它每次都会抛出该死的错误.我确信它与花括号有关.

String openbrace = Pattern.quote("{");
String closebrace = Pattern.quote("}");
Pattern pattern = Pattern.compile(openbrace+"[ ]?\"(.*?)\"[ ]?,[ ]?\"(.*?)\"[ ]?"+closebrace);
Run Code Online (Sandbox Code Playgroud)

+

{ "Working", "Working" },
Run Code Online (Sandbox Code Playgroud)

=

Illegal Repetition
Run Code Online (Sandbox Code Playgroud)

编辑:我使用NetBeans 7.0与JDK 1.7

Mik*_*aev 5

怎么样"\\{\\s*\"(.*?)\"\\s*,\\s*\"(.*?)\"\\s*\\}"

刚编译并运行以下程序.运行正确:

import java.util.regex.Pattern;
import java.util.regex.Matcher;

public class App
{
    public static void main(String[] args)
    {
        Pattern p = Pattern.compile("\\{\\s*\"(.*?)\"\\s*,\\s*\"(.*?)\"\\s*\\}");
        Matcher m = p.matcher("{ \"working\", \"working\"}");

        while(m.find())
        {
            System.out.println(m.start(1) + " - " + m.end(1));
            System.out.println(m.start(2) + " - " + m.end(2));
        }
    }
}
Run Code Online (Sandbox Code Playgroud)