我有一个正在运行的服务,它使用发送给它的正则表达式并使用它从字符串中检索一个值。
我可以在类中创建一个主要方法并调试正则表达式(?<=\\().+?(?=\\){1})
,它工作得很好。
但是,一旦我将其部署到 tomcat 中进行远程测试,就会出现以下异常:
Look-behind group does not have an obvious maximum length near index 19
(?<=\\().+?(?=\\){1})
^
这是用于解析正在调用的值的函数:
private String parsePattern(String value, String pattern)
{
String ret = "";
Matcher m = Pattern.compile(pattern).matcher(value);
while (m.find())
{
ret = m.group(0);
}
return ret;
}
发生了什么导致它在应用程序中编译,但在 web 应用程序中不起作用?
编辑:
使用任何字符串都会失败,但当前检查的字符串是:“(Group Camp Renovation)”
当从 调用时main
,该方法返回“Group Camp Renovation”,当通过 webapp 调用时,它会抛出异常。