public String groupMatch(String name, Region region, String pattern) { try { int number = GROK_PATTERN_REGEX.nameToBackrefNumber(name.getBytes(StandardCharsets.UTF_8), 0, name.getBytes(StandardCharsets.UTF_8).length, region); int begin = region.beg[number]; int end = region.end[number]; return new String(pattern.getBytes(StandardCharsets.UTF_8), begin, end - begin, StandardCharsets.UTF_8); } catch (StringIndexOutOfBoundsException e) { return null; } catch (ValueException e) { return null; } }
private String matchPatternValue(String groupName, Region region, String pattern) { try { int matchNumber = GROK_PATTERN_REGEX.nameToBackrefNumber(groupName.getBytes(StandardCharsets.UTF_8), 0, groupName.getBytes(StandardCharsets.UTF_8).length, region); Match match = match(groupName, region, pattern.getBytes(), matchNumber); List<Object> values = match.getValues(); return values.size() == 0 ? null : (String) values.get(0); } catch (ValueException e) { return null; } }
private String getKey(byte[] message, Region region) { int matchNumber = pattern.nameToBackrefNumber(KEY.getBytes(), 0, KEY.getBytes().length, region); String key = prefix + trim(extractString(message, region.beg[matchNumber], region.end[matchNumber]), trimKey); return key.length() <= maxKeyLength ? key : null; }
public IRubyObject[] getNamedBackrefValues(Ruby runtime) { if (pattern.numberOfNames() == 0) return NULL_ARRAY; IRubyObject[] values = new IRubyObject[pattern.numberOfNames()]; int j = 0; for (Iterator<NameEntry> i = pattern.namedBackrefIterator(); i.hasNext();) { NameEntry e = i.next(); int nth = pattern.nameToBackrefNumber(e.name, e.nameP, e.nameEnd, regs); values[j++] = RubyRegexp.nth_match(nth, this); } return values; }
public IRubyObject[] getNamedBackrefValues(Ruby runtime) { if (pattern.numberOfNames() == 0) return NULL_ARRAY; IRubyObject[] values = new IRubyObject[pattern.numberOfNames()]; int j = 0; for (Iterator<NameEntry> i = pattern.namedBackrefIterator(); i.hasNext();) { NameEntry e = i.next(); int nth = pattern.nameToBackrefNumber(e.name, e.nameP, e.nameEnd, regs); values[j++] = RubyRegexp.nth_match(nth, this); } return values; }
public int getNameToBackrefNumber(String name) { try { byte[] bytes = name.getBytes(); return getPattern().nameToBackrefNumber(bytes, 0, bytes.length, regs); } catch (JOniException je) { throw getRuntime().newIndexError(je.getMessage()); } }
public IRubyObject[] getNamedBackrefValues(Ruby runtime) { final Regex pattern = getPattern(); if (pattern.numberOfNames() == 0) return NULL_ARRAY; IRubyObject[] values = new IRubyObject[pattern.numberOfNames()]; int j = 0; for (Iterator<NameEntry> i = pattern.namedBackrefIterator(); i.hasNext();) { NameEntry e = i.next(); int nth = pattern.nameToBackrefNumber(e.name, e.nameP, e.nameEnd, regs); values[j++] = RubyRegexp.nth_match(nth, this); } return values; }
public int getNameToBackrefNumber(String name) { try { byte[] bytes = name.getBytes(); return getPattern().nameToBackrefNumber(bytes, 0, bytes.length, regs); } catch (JOniException je) { throw getRuntime().newIndexError(je.getMessage()); } }
public IRubyObject[] getNamedBackrefValues(Ruby runtime) { final Regex pattern = getPattern(); if (pattern.numberOfNames() == 0) return NULL_ARRAY; IRubyObject[] values = new IRubyObject[pattern.numberOfNames()]; int j = 0; for (Iterator<NameEntry> i = pattern.namedBackrefIterator(); i.hasNext();) { NameEntry e = i.next(); int nth = pattern.nameToBackrefNumber(e.name, e.nameP, e.nameEnd, regs); values[j++] = RubyRegexp.nth_match(nth, this); } return values; }
private int nameToBackrefNumber(RubyString str) { ByteList value = str.getByteList(); try { return pattern.nameToBackrefNumber(value.bytes, value.begin, value.begin + value.realSize, regs); } catch (JOniException je) { throw getRuntime().newIndexError(je.getMessage()); } }
private static int nameToBackrefNumber(Ruby runtime, Regex pattern, Region regs, ByteListHolder str) { if (pattern == null) { throw runtime.newIndexError("undefined group name reference: " + str); } ByteList value = str.getByteList(); try { return pattern.nameToBackrefNumber(value.getUnsafeBytes(), value.getBegin(), value.getBegin() + value.getRealSize(), regs); } catch (JOniException je) { throw runtime.newIndexError(je.getMessage()); } }
private static int nameToBackrefNumber(Ruby runtime, Regex pattern, Region regs, ByteListHolder str) { if (pattern == null) { throw runtime.newIndexError("undefined group name reference: " + str); } ByteList value = str.getByteList(); try { return pattern.nameToBackrefNumber(value.getUnsafeBytes(), value.getBegin(), value.getBegin() + value.getRealSize(), regs); } catch (JOniException je) { throw runtime.newIndexError(je.getMessage()); } }
private int nameToBackrefNumber(RubyString str) { ByteList value = str.getByteList(); try { return pattern.nameToBackrefNumber(value.getUnsafeBytes(), value.getBegin(), value.getBegin() + value.getRealSize(), regs); } catch (JOniException je) { throw getRuntime().newIndexError(je.getMessage()); } }
private int nameToBackrefNumber(RubyString str) { ByteList value = str.getByteList(); try { return pattern.nameToBackrefNumber(value.getUnsafeBytes(), value.getBegin(), value.getBegin() + value.getRealSize(), regs); } catch (JOniException je) { throw getRuntime().newIndexError(je.getMessage()); } }
no = pattern.nameToBackrefNumber(sBytes, name, nameEnd, regs); } catch (JOniException je) { throw runtime.newIndexError(je.getMessage());
no = pattern.nameToBackrefNumber(sBytes, name, nameEnd, regs); } catch (JOniException je) { throw runtime.newIndexError(je.getMessage());
no = pattern.nameToBackrefNumber(bytes, name, nameEnd, regs); } catch (JOniException je) { throw str.getRuntime().newIndexError(je.getMessage());
no = pattern.nameToBackrefNumber(bytes, name, nameEnd, regs); } catch (JOniException je) { throw str.getRuntime().newIndexError(je.getMessage());