diff --git a/querydsl-core/src/main/java/com/mysema/query/types/TemplateFactory.java b/querydsl-core/src/main/java/com/mysema/query/types/TemplateFactory.java index 93a280dee..5d2cb3cec 100644 --- a/querydsl-core/src/main/java/com/mysema/query/types/TemplateFactory.java +++ b/querydsl-core/src/main/java/com/mysema/query/types/TemplateFactory.java @@ -36,9 +36,9 @@ public class TemplateFactory { private static final Constant PERCENT = ConstantImpl.create("%"); private static final Pattern elementPattern = Pattern.compile("\\{" - + "(?%?%?)" - + "(?\\d+)" - + "(?[slu%]?%?)" + + "(%?%?)" + + "(\\d+)" + + "([slu%]?%?)" + "\\}"); private final Map cache = new ConcurrentHashMap(); @@ -177,9 +177,9 @@ public class TemplateFactory { if (m.start() > end) { elements.add(new Template.StaticText(template.substring(end, m.start()))); } - String premodifiers = m.group("premod").toLowerCase(Locale.ENGLISH); - int index = Integer.parseInt(m.group("index")); - String postmodifiers = m.group("postmod").toLowerCase(Locale.ENGLISH); + String premodifiers = m.group(1).toLowerCase(Locale.ENGLISH); + int index = Integer.parseInt(m.group(2)); + String postmodifiers = m.group(3).toLowerCase(Locale.ENGLISH); boolean asString = false; Function transformer = null; switch (premodifiers.length()) {