Michael Pätzold created CAMEL-13962: ---------------------------------------
Summary: OgnlHelper.splitOgnl not able to handle Regex properly Key: CAMEL-13962 URL: https://issues.apache.org/jira/browse/CAMEL-13962 Project: Camel Issue Type: Bug Components: camel-core Affects Versions: 3.0.0.RC1, 2.24.1 Reporter: Michael Pätzold The splitOgnl method cannot properly handle an expression if it contains numerous paranthesis brackets and dots what is very likely in case you want to use regular expressions. The following examples tries to extract a specific cookie value from the cookie string that's containes within the headers: {code:java} @Test public void splitOgnlWithRegexInMethod() { String ognl = "header.cookie.replaceFirst(\".*;?iwanttoknow=([^;]+);?.*\", \"$1\")"; assertFalse(OgnlHelper.isInvalidValidOgnlExpression(ognl)); assertTrue(OgnlHelper.isValidOgnlExpression(ognl)); List<String> strings = OgnlHelper.splitOgnl(ognl); assertEquals(3, strings.size()); assertEquals("header", strings.get(0)); assertEquals(".cookie", strings.get(1)); assertEquals(".replaceFirst(\".*;?iwanttoknow=([^;]+);?.*\", \"$1\")", strings.get(2)); } {code} The test fails using the current code base since the regular expression itself is split at the first dot after the first closing paranthesis bracket. If you'll agree that this is a bug I can come up with a possible solution that takes the amount of opening/closing brackets into account via PR. -- This message was sent by Atlassian Jira (v8.3.2#803003)