edu.stanford.nlp.ling.tokensregex
Class MultiPatternMatcher<T>

java.lang.Object
  extended by edu.stanford.nlp.ling.tokensregex.MultiPatternMatcher<T>

public class MultiPatternMatcher<T>
extends java.lang.Object

Matcher that takes in multiple patterns

Author:
Angel Chang

Nested Class Summary
static class MultiPatternMatcher.BasicSequencePatternTrigger<T>
           
static interface MultiPatternMatcher.NodePatternTrigger<T>
           
static interface MultiPatternMatcher.SequencePatternTrigger<T>
           
 
Constructor Summary
MultiPatternMatcher(java.util.Collection<SequencePattern<T>> patterns)
           
MultiPatternMatcher(MultiPatternMatcher.SequencePatternTrigger<T> patternTrigger, java.util.Collection<? extends SequencePattern<T>> patterns)
           
MultiPatternMatcher(MultiPatternMatcher.SequencePatternTrigger<T> patternTrigger, SequencePattern<T>... patterns)
           
MultiPatternMatcher(SequencePattern<T>... patterns)
           
 
Method Summary
 java.lang.Iterable<SequenceMatchResult<T>> findAllNonOverlappingMatchesPerPattern(java.util.List<? extends T> elements)
          Given a sequence, applies each of our patterns over the sequence and returns all non overlapping matches for each of the patterns.
 java.util.List<SequenceMatchResult<T>> findNonOverlapping(java.util.List<? extends T> elements)
          Given a sequence, applies our patterns over the sequence and returns all non overlapping matches.
 java.util.List<SequenceMatchResult<T>> findNonOverlapping(java.util.List<? extends T> elements, java.util.Comparator<? super SequenceMatchResult> cmp)
          Given a sequence, applies our patterns over the sequence and returns all non overlapping matches.
 java.util.Collection<SequencePattern<T>> getTriggeredPatterns(java.util.List<? extends T> elements)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiPatternMatcher

public MultiPatternMatcher(MultiPatternMatcher.SequencePatternTrigger<T> patternTrigger,
                           java.util.Collection<? extends SequencePattern<T>> patterns)

MultiPatternMatcher

public MultiPatternMatcher(MultiPatternMatcher.SequencePatternTrigger<T> patternTrigger,
                           SequencePattern<T>... patterns)

MultiPatternMatcher

public MultiPatternMatcher(java.util.Collection<SequencePattern<T>> patterns)

MultiPatternMatcher

public MultiPatternMatcher(SequencePattern<T>... patterns)
Method Detail

findNonOverlapping

public java.util.List<SequenceMatchResult<T>> findNonOverlapping(java.util.List<? extends T> elements)
Given a sequence, applies our patterns over the sequence and returns all non overlapping matches. When multiple patterns overlaps, matched patterns are selected by the highest priority/score is selected, then the longest pattern, then the starting offset, then the original order

Parameters:
elements - input sequence to match against
Returns:
list of match results that are non-overlapping

findNonOverlapping

public java.util.List<SequenceMatchResult<T>> findNonOverlapping(java.util.List<? extends T> elements,
                                                                 java.util.Comparator<? super SequenceMatchResult> cmp)
Given a sequence, applies our patterns over the sequence and returns all non overlapping matches. When multiple patterns overlaps, matched patterns are selected by order specified by the comparator

Parameters:
elements - input sequence to match against
cmp - comparator indicating order that overlapped sequences should be selected.
Returns:
list of match results that are non-overlapping

findAllNonOverlappingMatchesPerPattern

public java.lang.Iterable<SequenceMatchResult<T>> findAllNonOverlappingMatchesPerPattern(java.util.List<? extends T> elements)
Given a sequence, applies each of our patterns over the sequence and returns all non overlapping matches for each of the patterns. Unlike #findAllNonOverlapping, overlapping matches from different patterns are kept

Parameters:
elements - input sequence to match against
Returns:
iterable of match results that are non-overlapping

getTriggeredPatterns

public java.util.Collection<SequencePattern<T>> getTriggeredPatterns(java.util.List<? extends T> elements)


Stanford NLP Group