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
`static int` `DEFAULT_MAX_BLOCK_CHARS` Deprecated.

### 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, int maxBlockChars, String blockDelimiter, Reader in)` Deprecated.
`PatternReplaceCharFilter(Pattern pattern, String replacement, Reader in)`

### Method Summary

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`

### Field Detail

#### DEFAULT_MAX_BLOCK_CHARS

    @Deprecated
    public static final int DEFAULT_MAX_BLOCK_CHARS

Deprecated.

See Also:
  Constant Field Values

### Constructor Detail

#### PatternReplaceCharFilter

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

#### PatternReplaceCharFilter

    @Deprecated
    public PatternReplaceCharFilter(Pattern pattern,
                                       String replacement,
                                       int maxBlockChars,
                                       String blockDelimiter,
                                       Reader in)

Deprecated.

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