org.apache.lucene.analysis.pattern

## Class PatternReplaceCharFilter

- java.lang.Object
- - java.io.Reader
  - - org.apache.lucene.analysis.CharFilter
    - - org.apache.lucene.analysis.charfilter.BaseCharFilter
      - - org.apache.lucene.analysis.pattern.PatternReplaceCharFilter

- All Implemented Interfaces:
    Closeable, AutoCloseable, Readable

      public class PatternReplaceCharFilter
      extends BaseCharFilter

  CharFilter that uses a regular expression for the target of replace string. The pattern match will be done in each "block" in char stream.

  ex1) source="aa bb aa bb", pattern="(aa)\\s+(bb)" replacement="$1#$2"
  output="aa#bb aa#bb"

  NOTE: If you produce a phrase that has different length to source string and the field is used for highlighting for a term of the phrase, you will face a trouble.

  ex2) source="aa123bb", pattern="(aa)\\d+(bb)" replacement="$1 $2"
  output="aa bb"
  and you want to search bb and highlight it, you will get
  highlight snippet="aa1<em>23bb</em>"

  Since:
    Solr 1.5

- - ### Field Summary

    - ### Fields inherited from class org.apache.lucene.analysis.CharFilter

      `input`

    - ### Fields inherited from class java.io.Reader

      `lock`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `PatternReplaceCharFilter(Pattern pattern, String replacement, Reader in)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected int` | `correct(int currentOff)` Retrieve the corrected offset.
    `int` | `read()`
    `int` | `read(char[] cbuf, int off, int len)`

    - ### Methods inherited from class org.apache.lucene.analysis.charfilter.BaseCharFilter

      `addOffCorrectMap, getLastCumulativeDiff`

    - ### Methods inherited from class org.apache.lucene.analysis.CharFilter

      `close, correctOffset`

    - ### Methods inherited from class java.io.Reader

      `mark, markSupported, read, read, ready, reset, skip`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### PatternReplaceCharFilter

          public PatternReplaceCharFilter(Pattern pattern,
                                          String replacement,
                                          Reader in)

  - ### Method Detail

    - #### read

          public int read(char[] cbuf,
                          int off,
                          int len)
                   throws IOException

      Specified by:
        `read` in class `Reader`
      Throws:
        `IOException`

    - #### read

          public int read()
                   throws IOException

      Overrides:
        `read` in class `Reader`
      Throws:
        `IOException`

    - #### correct

          protected int correct(int currentOff)

      Description copied from class: `BaseCharFilter`
      Retrieve the corrected offset.
      Overrides:
        `correct` in class `BaseCharFilter`

Copyright © 2000-2022 Apache Software Foundation. All Rights Reserved.