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
`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`