List<Expression> parts = Lists.newArrayList();
assert regex.startsWith("/") && regex.endsWith("/i");
String pattern = regex.substring(1, regex.length() - 2);
makeRegexpOnto(substrings, pattern, 0, parts);
if (parts.size() == 1 && parts.get(0) instanceof StringLiteral) {
return new RegexpLiteral(unk, regex);
} else {
Expression e = parts.get(0);
for (int i = 1, n = parts.size(); i < n; ++i) {
e = Operation.createInfix(Operator.ADDITION, e, parts.get(i));
}