private void appendBodySourceCode(StringBuilder sb) { if (body instanceof Alternation || body instanceof Concatenation || body instanceof Repetition || (body instanceof Text && ((Text) body).text.length() > 1)) { sb.append("(?:"); body.appendSourceCode(sb); sb.append(')'); } else { body.appendSourceCode(sb); } }
@Override protected void appendSourceCode(StringBuilder sb) { sb.append('('); body.appendSourceCode(sb); sb.append(')'); }
private void appendBodySourceCode(StringBuilder sb) { if (body instanceof Alternation || body instanceof Concatenation || body instanceof Repetition || (body instanceof Text && ((Text) body).text.length() > 1)) { sb.append("(?:"); body.appendSourceCode(sb); sb.append(')'); } else { body.appendSourceCode(sb); } }
@Override protected void appendSourceCode(StringBuilder sb) { sb.append(positive ? "(?=" : "(?!"); body.appendSourceCode(sb); sb.append(')'); }
@Override protected void appendSourceCode(StringBuilder sb) { sb.append(positive ? "(?<=" : "(?<!"); body.appendSourceCode(sb); sb.append(')'); }
@Override protected void appendSourceCode(StringBuilder sb) { sb.append(positive ? "(?=" : "(?!"); body.appendSourceCode(sb); sb.append(')'); }
@Override protected void appendSourceCode(StringBuilder sb) { sb.append('('); body.appendSourceCode(sb); sb.append(')'); }
@Override protected void appendSourceCode(StringBuilder sb) { sb.append("(?<"); sb.append(name); sb.append('>'); body.appendSourceCode(sb); sb.append(')'); }
@Override protected void appendSourceCode(StringBuilder sb) { for (int i = 0, n = alternatives.size(); i < n; ++i) { if (i != 0) { sb.append('|'); } alternatives.get(i).appendSourceCode(sb); } }
@Override protected void appendSourceCode(StringBuilder sb) { for (int i = 0, n = alternatives.size(); i < n; ++i) { if (i != 0) { sb.append('|'); } alternatives.get(i).appendSourceCode(sb); } }
@Override public final String toString() { StringBuilder sb = new StringBuilder(); sb.append('/'); appendSourceCode(sb); // Don't emit a regular expression that looks like a line comment start. if (sb.length() == 1) { sb.append("(?:)"); } sb.append('/'); return sb.toString(); }
@Override public final String toString() { StringBuilder sb = new StringBuilder(); sb.append('/'); appendSourceCode(sb); // Don't emit a regular expression that looks like a line comment start. if (sb.length() == 1) { sb.append("(?:)"); } sb.append('/'); return sb.toString(); }
element.appendSourceCode(sb); sb.append(')'); } else { int start = sb.length(); element.appendSourceCode(sb); if (digitsMightBleed && sb.length() > start) { char firstChar = sb.charAt(start);
element.appendSourceCode(sb); sb.append(')'); } else { int start = sb.length(); element.appendSourceCode(sb); if (digitsMightBleed && sb.length() > start) { char firstChar = sb.charAt(start);