Java 此正则表达式出错:var工作表=(.*)\\};

Java 此正则表达式出错:var工作表=(.*)\\};,java,regex,escaping,character,Java,Regex,Escaping,Character,我在这个正则表达式中出错: Matcher worksheetMatcher = Pattern.compile(output).matcher("var worksheet = (.*)\\};"); 考虑到输出是一个使用jersey从web读取的长html文本 错误是: Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 1150 我知道这个错误

我在这个正则表达式中出错:

 Matcher worksheetMatcher = Pattern.compile(output).matcher("var worksheet = (.*)\\};");
考虑到输出是一个使用jersey从web读取的长html文本

错误是:

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 1150
我知道这个错误通常发生在一个字符没有转义时,但奇怪的是,如果我尝试匹配任何“*”项,这个错误仍然会发生,所以我在这里


因此,如果有人知道我为什么会出现此错误,请在这里发布,非常感谢您的帮助。

交换模式字符串并
输出:

Matcher worksheetMatcher = Pattern.compile("var worksheet = (.*)\\};").matcher(output);

交换模式字符串和
输出

Matcher worksheetMatcher = Pattern.compile("var worksheet = (.*)\\};").matcher(output);

在调用
.matcher
之前,您可以包含源代码的其余部分吗?语法是反向的@barnesjd的答案是正确的。您可以在这里看一个如何创建模式和匹配器对象的示例:您可以在调用
.Matcher
之前包含源代码的其余部分吗?语法是反向的@barnesjd给出了正确的答案。您可以在这里查看如何创建模式和匹配器对象的示例: