this(new LayeredTokenPattern(patternStr));
}
protected Collection<SpanExtraction> extractCandidates(ChunkedSentence sent)
throws ExtractorException {
LayeredTokenMatcher m = pattern.matcher(sent);
List<SpanExtraction> results = new ArrayList<SpanExtraction>();
while (m.find()) {
int numFields = m.groupCount();
List<Range> fieldRanges = new ArrayList<Range>();
for (int i = 0; i < numFields; i++) {
int start = m.start(i + 1);
int end = m.end(i + 1);
int len = end - start;
if (start < 0 || end < 0)
break;
fieldRanges.add(new Range(start, len));
}