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

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

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