int () { String val1 = ((StringNode)left).getValue(); String val2 = ((StringNode)right).getValue(); int val2Len = val2.length(); if (val2Len > 1 && val2.charAt(0) == '/' && val2.charAt(val2Len - 1) == '/') { // Treat as a regular expression String expr = val2.substring(1, val2Len - 1); try { Pattern pattern = Pattern.compile(expr); // Regular expressions will only ever be used with EqualNode // so return zero for equal and non-zero for not equal if (pattern.matcher(val1).find()) { return 0; } else { return -1; } } catch (PatternSyntaxException e) { SsiProcessorKt.getLOG().warn("Invalid expression: " + expr, e); return 0; } } return val1.compareTo(val2); }