dk.brics.automaton

Class AutomatonMatcher

public class AutomatonMatcher extends Object implements MatchResult

A tool that performs match operations on a given character sequence using a compiled automaton.

Author: John Gibson <jgibson@mitre.org>

See Also: RunAutomaton RunAutomaton

Method Summary
intend()
Returns the offset after the last character matched.
intend(int group)
Returns the offset after the last character matched of the specified capturing group.
booleanfind()
Find the next matching subsequence of the input.
Stringgroup()
Returns the subsequence of the input found by the previous match.
Stringgroup(int group)
Returns the subsequence of the input found by the specified capturing group during the previous match operation.
intgroupCount()
Returns the number of capturing groups in the underlying automaton.
intstart()
Returns the offset of the first character matched.
intstart(int group)
Returns the offset of the first character matched of the specified capturing group.

Method Detail

end

public int end()
Returns the offset after the last character matched.

Returns: The offset after the last character matched.

Throws: IllegalStateException if there has not been a match attempt or if the last attempt yielded no results.

end

public int end(int group)
Returns the offset after the last character matched of the specified capturing group.
Note that because the automaton does not support capturing groups the only valid group is 0 (the entire match).

Parameters: group the desired capturing group.

Returns: The offset after the last character matched of the specified capturing group.

Throws: IllegalStateException if there has not been a match attempt or if the last attempt yielded no results. IndexOutOfBoundsException if the specified capturing group does not exist in the underlying automaton.

find

public boolean find()
Find the next matching subsequence of the input.
This also updates the values for the {@code start}, {@code end}, and {@code group} methods.

Returns: {@code true} if there is a matching subsequence.

group

public String group()
Returns the subsequence of the input found by the previous match.

Returns: The subsequence of the input found by the previous match.

Throws: IllegalStateException if there has not been a match attempt or if the last attempt yielded no results.

group

public String group(int group)
Returns the subsequence of the input found by the specified capturing group during the previous match operation.
Note that because the automaton does not support capturing groups the only valid group is 0 (the entire match).

Parameters: group the desired capturing group.

Returns: The subsequence of the input found by the specified capturing group during the previous match operation the previous match. Or {@code null} if the given group did match.

Throws: IllegalStateException if there has not been a match attempt or if the last attempt yielded no results. IndexOutOfBoundsException if the specified capturing group does not exist in the underlying automaton.

groupCount

public int groupCount()
Returns the number of capturing groups in the underlying automaton.
Note that because the automaton does not support capturing groups this method will always return 0.

Returns: The number of capturing groups in the underlying automaton.

start

public int start()
Returns the offset of the first character matched.

Returns: The offset of the first character matched.

Throws: IllegalStateException if there has not been a match attempt or if the last attempt yielded no results.

start

public int start(int group)
Returns the offset of the first character matched of the specified capturing group.
Note that because the automaton does not support capturing groups the only valid group is 0 (the entire match).

Parameters: group the desired capturing group.

Returns: The offset of the first character matched of the specified capturing group.

Throws: IllegalStateException if there has not been a match attempt or if the last attempt yielded no results. IndexOutOfBoundsException if the specified capturing group does not exist in the underlying automaton.

Copyright © 2001-2008 Anders Møller.