# 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.