送信された正規表現を使用し、それを使用して文字列から値を取得するサービスを実行しています。
クラス内にメイン メソッドを作成し、正規表現をデバッグする(?<=\\().+?(?=\\){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;
}
アプリでコンパイルするのに、webapp で動作しない原因は何ですか?
編集:
これはどの文字列でも失敗しますが、現在チェックされている文字列は "(Group Camp Renovation)" です。
から呼び出されるとmain
、このメソッドは「Group Camp Renovation」を返します。webapp 経由で呼び出されると、例外がスローされます。