org.eclipse.jetty.rewrite.handler

## Class RewriteRegexRule

- java.lang.Object
- - org.eclipse.jetty.rewrite.handler.Rule
  - - org.eclipse.jetty.rewrite.handler.RegexRule
    - - org.eclipse.jetty.rewrite.handler.RewriteRegexRule

All Implemented Interfaces:
  Rule.ApplyURI

    public class RewriteRegexRule
    extends RegexRule
    implements Rule.ApplyURI

Rewrite the URI by matching with a regular expression. The replacement string may use $n" to replace the nth capture group. If the replacement string contains ? character, then it is split into a path and query string component. The replacement query string may also contain $Q, which is replaced with the original query string. The returned target contains only the path.

### Nested Class Summary

### Nested classes/interfaces inherited from class org.eclipse.jetty.rewrite.handler.Rule

`Rule.ApplyURI`

### Field Summary

### Fields inherited from class org.eclipse.jetty.rewrite.handler.RegexRule

`_regex`

### Fields inherited from class org.eclipse.jetty.rewrite.handler.Rule

`_handling, _terminating`

### Constructor Summary

Constructors
Constructor and Description
`RewriteRegexRule()`

### Method Summary

Methods
`String` `apply(String target, javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Matcher matcher)` Apply this rule to the request/response pair.
`void` `applyURI(Request request, String oldTarget, String newTarget)`
`void` `setReplacement(String replacement)` Whenever a match is found, it replaces with this value.
`String` `toString()` Returns the replacement string.

### Methods inherited from class org.eclipse.jetty.rewrite.handler.RegexRule

`getRegex, matchAndApply, setRegex`

### Methods inherited from class org.eclipse.jetty.rewrite.handler.Rule

`isHandling, isTerminating, setHandling, setTerminating`

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

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

### Constructor Detail

#### RewriteRegexRule

    public RewriteRegexRule()

### Method Detail

#### setReplacement

    public void setReplacement(String replacement)

Whenever a match is found, it replaces with this value.

Parameters:
  `replacement` - the replacement string.

#### apply

    public String apply(String target,
               javax.servlet.http.HttpServletRequest request,
               javax.servlet.http.HttpServletResponse response,
               Matcher matcher)
                 throws IOException

Description copied from class: `RegexRule`
Apply this rule to the request/response pair. Called by `RegexRule.matchAndApply(String, HttpServletRequest, HttpServletResponse)` if the regex matches.

Specified by:
  `apply` in class `RegexRule`
Parameters:
  `target` - field to attempt match
  `request` - request object
  `response` - response object
  `matcher` - The Regex matcher that matched the request (with capture groups available for replacement).
Returns:
  The target (possible updated).
Throws:
  `IOException` - exceptions dealing with operating on request or response objects

#### applyURI

    public void applyURI(Request request,
                String oldTarget,
                String newTarget)
                  throws IOException

Specified by:
  `applyURI` in interface `Rule.ApplyURI`
Throws:
  `IOException`

#### toString

    public String toString()

Returns the replacement string.

Overrides:
  `toString` in class `RegexRule`