Package com.logicaldoc.core.automation

# Class RegexTool

java.lang.Object
com.logicaldoc.core.automation.RegexTool

public class RegexTool extends Object
Various Regex-based APIs to make it easy to manipulate regular expressions from Automation.

Since:
  8.7.4

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`class`
`RegexTool.RegexResult`
Result of a Regex search.

## Constructor Summary

Constructors
Constructor
Description
`RegexTool()`

## Method Summary

Modifier and Type
Method
Description
`Pattern`
`compile(String regex)`
Compiles a regular expression into a java `Pattern` object.
`List<RegexTool.RegexResult>`
`find(String content, String regex)`
Finds the matches into a given content using a given regular expression
`List<List<RegexTool.RegexResult>>`
`findAll(String content, String regex)`
Finds the matches into a given content using a given regular expression
`String`
`quote(String s)`
Returns a literal pattern `String` for the specified `String`.
`String`
`quoteReplacement(String s)`
Returns a literal replacement `String` for the specified `String`.

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

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### RegexTool

public RegexTool()

## Method Details

### find

public List<RegexTool.RegexResult> find(String content, String regex)
Finds the matches into a given content using a given regular expression

Parameters:
  `content` - the content to parse
  `regex` - the regex to look for in the passed content
Returns:
  empty list if the passed regex doesn't match the content or several `RegexTool.RegexResult` objects containing the matched position and matched content for all capturing groups, the first group representing the whole . The first object is represents the entire pattern

### findAll

public List<List<RegexTool.RegexResult>> findAll(String content, String regex)
Finds the matches into a given content using a given regular expression

Parameters:
  `content` - the content to parse
  `regex` - the regular expression to look for in the passed content
Returns:
  an empty list if the passed regular expression doesn't match the content, several `RegexTool.RegexResult` objects containing the matched position and matched content for all capturing groups and sub-groups otherwise

### compile

public Pattern compile(String regex)
Compiles a regular expression into a java `Pattern` object.

Parameters:
  `regex` - the textual representation of the regular expression
Returns:
  the `Pattern` object corresponding to the regular expression, or `null` if the expression is invalid
Since:
  8.7.4

### quote

public String quote(String s)
Returns a literal pattern `String` for the specified `String`.

This method produces a `String` that can be used to create a `Pattern` that would match the string `s` as if it were a literal pattern.

Metacharacters or escape sequences in the input sequence will be given no special meaning.

Parameters:
  `s` - The string to be literalized
Returns:
  A literal string replacement
Since:
  8.7.4

### quoteReplacement

public String quoteReplacement(String s)
Returns a literal replacement `String` for the specified `String`. This method produces a `String` that will work as a literal replacement `s` in `String#replaceAll(regularExpression, s)`. The `String` produced will match the sequence of characters in `s` treated as a literal sequence. Slashes ('\') and dollar signs ('$') will be given no special meaning.

Parameters:
  `s` - the string to be literalized
Returns:
  a literal string replacement
Since:
  8.7.4