## org.apache.lucene.search.regex
Class RegexQuery

    java.lang.Object
      org.apache.lucene.search.Query
          org.apache.lucene.search.MultiTermQuery
              org.apache.lucene.search.regex.RegexQuery

All Implemented Interfaces:
  Serializable, Cloneable, RegexQueryCapable

    public class RegexQuery

extends MultiTermQuery
implements RegexQueryCapable

Implements the regular expression term search query. The expressions supported depend on the regular expression implementation used by way of the `RegexCapabilities` interface.

See Also:
  `RegexTermEnum`, Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class org.apache.lucene.search.MultiTermQuery
`MultiTermQuery.ConstantScoreAutoRewrite, MultiTermQuery.RewriteMethod, MultiTermQuery.TopTermsBoostOnlyBooleanQueryRewrite, MultiTermQuery.TopTermsScoringBooleanQueryRewrite`

Field Summary

Fields inherited from class org.apache.lucene.search.MultiTermQuery
`CONSTANT_SCORE_AUTO_REWRITE_DEFAULT, CONSTANT_SCORE_BOOLEAN_QUERY_REWRITE, CONSTANT_SCORE_FILTER_REWRITE, rewriteMethod, SCORING_BOOLEAN_QUERY_REWRITE`

Constructor Summary
`RegexQuery(Term term)` Constructs a query for terms matching `term`.

Method Summary
`boolean` `equals(Object o)`
`protected FilteredTermEnum` `getEnum(IndexReader reader)` Construct the enumeration to be used, expanding the pattern term.
`RegexCapabilities` `getRegexImplementation()`
`Term` `getTerm()`
`int` `hashCode()`
`void` `setRegexImplementation(RegexCapabilities impl)` Defines which `RegexCapabilities` implementation is used by this instance.
`String` `toString(String field)` Prints a query to a string, with `field` assumed to be the default field and omitted.

Methods inherited from class org.apache.lucene.search.MultiTermQuery
`clearTotalNumberOfTerms, getRewriteMethod, getTotalNumberOfTerms, incTotalNumberOfTerms, rewrite, setRewriteMethod`

Methods inherited from class org.apache.lucene.search.Query
`clone, combine, createWeight, extractTerms, getBoost, getSimilarity, mergeBooleanQueries, setBoost, toString, weight`

Methods inherited from class java.lang.Object
`finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### RegexQuery

    public RegexQuery(Term term)

  Constructs a query for terms matching `term`.

Method Detail

### getTerm

    public Term getTerm()

### setRegexImplementation

    public void setRegexImplementation(RegexCapabilities impl)

  Defines which `RegexCapabilities` implementation is used by this instance.

  Specified by:
    `setRegexImplementation` in interface `RegexQueryCapable`
  Parameters:
    `impl` -

### getRegexImplementation

    public RegexCapabilities getRegexImplementation()

  Specified by:
    `getRegexImplementation` in interface `RegexQueryCapable`
  Returns:
    The implementation used by this instance.

### getEnum

    protected FilteredTermEnum getEnum(IndexReader reader)
                                throws IOException

  Description copied from class: `MultiTermQuery`
  Construct the enumeration to be used, expanding the pattern term.

  Specified by:
    `getEnum` in class `MultiTermQuery`
  Throws:
    `IOException`

### toString

    public String toString(String field)

  Description copied from class: `Query`
  Prints a query to a string, with `field` assumed to be the default field and omitted.

  The representation used is one that is supposed to be readable by `QueryParser`. However, there are the following limitations:

  - If the query was created by the parser, the printed representation may not be exactly what was parsed. For example, characters that need to be escaped will be represented without the required backslash.
  - Some of the more complicated queries (e.g. span queries) don't have a representation that can be parsed by QueryParser.

  Specified by:
    `toString` in class `Query`

### equals

    public boolean equals(Object o)

  Overrides:
    `equals` in class `MultiTermQuery`

### hashCode

    public int hashCode()

  Overrides:
    `hashCode` in class `MultiTermQuery`