java正则表达式解析错误

时间:2017-10-23 16:47:56

标签: java regex

我想在java中使用这个正则表达式

^class QuineHash.*?{(.*?(\s))*}$

然而,当我启动该功能时,它会抛出非法的重复错误。

这些是命令:

String pattern = "^class QuineHash.*?{(.*?(\\s))*}$";
Pattern r = Pattern.compile(pattern); 

这是错误:

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 18
^class QuineHash.*?{(.*?(\s))*}$

我该如何解决这个问题?

编辑:

我只是通过改变以前的正则表达式来解决问题:

class QuineHash(?:.*?\\s)*}

1 个答案:

答案 0 :(得分:0)

String pattern = "^class QuineHash.*?\{(.*?(\\s))*\}$";

逃避大括号!