# Package org.apache.lucene.util.automaton

package org.apache.lucene.util.automaton
Finite-state automaton for regular expressions.

This package contains a full DFA/NFA implementation with Unicode alphabet and support for all standard (and a number of non-standard) regular expression operations.

The most commonly used functionality is located in the classes ``Automaton`` and ``RegExp``.

For more information, go to the package home page at `http://www.brics.dk/automaton/`.

WARNING: This API is experimental and might change in incompatible ways in the next release.

Related Packages
Package
Description
org.apache.lucene.util
Some utility classes.
Class
Description
Automata
Construction of basic automata.
Automaton
Represents an automaton and all its states and transitions.
Automaton.Builder
Records new states and transitions and then `Automaton.Builder.finish()` creates the `Automaton`.
AutomatonProvider
Automaton provider for `RegExp.` `RegExp.toAutomaton(AutomatonProvider)`
ByteRunAutomaton
Automaton representation for matching UTF-8 byte[].
ByteRunnable
A runnable automaton accepting byte array as input
CharacterRunAutomaton
Automaton representation for matching char[].
CompiledAutomaton
Immutable class holding compiled details for a given Automaton.
CompiledAutomaton.AUTOMATON_TYPE
Automata are compiled into different internal forms for the most efficient execution depending upon the language they accept.
FiniteStringsIterator
Iterates all accepted strings.
LevenshteinAutomata
Class to construct DFAs that match a word within some edit distance.
LimitedFiniteStringsIterator
`FiniteStringsIterator` which limits the number of iterated accepted strings.
NFARunAutomaton
A RunAutomaton that does not require DFA.
Operations
Automata operations.
RegExp
Regular Expression extension to `Automaton`.
RegExp.Kind
The type of expression represented by a RegExp node.
RunAutomaton
Finite-state automaton with fast run operation.
StatePair
Pair of states.
TooComplexToDeterminizeException
This exception is thrown when determinizing an automaton would require too much work.
Transition
Holds one transition from an `Automaton`.
TransitionAccessor
Interface accessing the transitions of an automaton
UTF32ToUTF8
Converts UTF-32 automata to the equivalent UTF-8 representation.