org.eclipse.jface.text

## Interface IFindReplaceTargetExtension3

    public interface IFindReplaceTargetExtension3

Extension interface for `IFindReplaceTarget`.

Extends the find replace target's `findAndSelect` and `replaceSelection` methods to allow and be aware of regular expression find/replace.

Since:
  3.0

### Method Summary

All Methods Instance Methods Abstract Methods
`int` `findAndSelect(int offset, String findString, boolean searchForward, boolean caseSensitive, boolean wholeWord, boolean regExSearch)` Searches for a string starting at the given offset and using the specified search directives.
`void` `replaceSelection(String text, boolean regExReplace)` Replaces the currently selected range of characters with the given text.

### Method Detail

#### findAndSelect

    int findAndSelect(int offset,
                      String findString,
                      boolean searchForward,
                      boolean caseSensitive,
                      boolean wholeWord,
                      boolean regExSearch)

Searches for a string starting at the given offset and using the specified search directives. If a string has been found it is selected and its start offset is returned. If regExSearch is `true` the findString is interpreted as a regular expression.

Parameters:
  `offset` - the offset at which searching starts
  `findString` - the specification of what should be found
  `searchForward` - `true` searches forward, `false` backwards
  `caseSensitive` - `true` performs a case sensitive search, `false` an insensitive search
  `wholeWord` - if `true` only occurrences are reported in which the findString stands as a word by itself. Must not be used in combination with `regExSearch`.
  `regExSearch` - if `true` findString represents a regular expression Must not be used in combination with `wholeWord`.
Returns:
  the position of the specified string, or -1 if the string has not been found
Throws:
  `PatternSyntaxException` - if regExSearch is `true` and findString is an invalid regular expression

#### replaceSelection

    void replaceSelection(String text,
                          boolean regExReplace)

Replaces the currently selected range of characters with the given text. If regExReplace is `true` the text is interpreted as a regular expression that is used to process the selected text in order to produce the actual replacement of the selected text.

This target must be editable. Otherwise nothing happens.

Parameters:
  `text` - the specification of the substitution text
  `regExReplace` - if `true` text represents a regular expression
Throws:
  `IllegalStateException` - in case of regular expressions, this call is not preceded by a call to `findAndSelect`
  `PatternSyntaxException` - if regExReplace is `true` and text is an invalid regular expression