# Class RegexExtractor

java.lang.Object
org.apache.jmeter.testelement.AbstractTestElement
org.apache.jmeter.testelement.AbstractScopedTestElement
org.apache.jmeter.extractor.RegexExtractor

All Implemented Interfaces:
  `Serializable, Cloneable, Searchable, PostProcessor, TestElement`

public class RegexExtractor extends AbstractScopedTestElement implements PostProcessor, Serializable

See Also:
  - Serialized Form

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`USE_BODY`
`static final String`
`USE_BODY_AS_DOCUMENT`
`static final String`
`USE_BODY_UNESCAPED`
`static final String`
`USE_CODE`
`static final String`
`USE_HDRS`
`static final String`
`USE_MESSAGE`
`static final String`
`USE_REQUEST_HDRS`
`static final String`
`USE_URL`

### Fields inherited from interface TestElement

`COMMENTS, ENABLED, GUI_CLASS, NAME, TEST_CLASS`

## Constructor Summary

Constructors
Constructor
Description
`RegexExtractor()`

## Method Summary

Modifier and Type
Method
Description
`String`
`getDefaultValue()`
Get the default value for the variable, which should be used, if no matches are found
`int`
`getMatchNumber()`
`String`
`getMatchNumberAsString()`
`String`
`getRefName()`
Get the prefix name of the variable to be used to store the regex matches
`String`
`getRegex()`
Get the regex which is to be used
`String`
`getTemplate()`
`void`
`process()`
Parses the response data using regular expressions and saving the results into variables for use later in the test.
`void`
`setDefaultValue(String defaultValue)`
Sets the value of the variable if no matches are found
`void`
`setMatchNumber(int matchNumber)`
Set which Match to use.
`void`
`setMatchNumber(String matchNumber)`
`void`
`setRefName(String refName)`
Set the prefix name of the variable to be used to store the regex matches
`void`
`setRegex(String regex)`
Set the regex to be used
`void`
`setTemplate(String template)`
`void`
`setUseField(String actionCommand)`
`boolean`
`useBody()`
`boolean`
`useBodyAsDocument()`
`boolean`
`useCode()`
`boolean`
`useHeaders()`
`boolean`
`useMessage()`
`boolean`
`useRequestHeaders()`
`boolean`
`useUnescapedBody()`
`boolean`
`useUrl()`

### Methods inherited from class AbstractScopedTestElement

`fetchScope, getSampleList, getScopeName, getVariableName, isScopeAll, isScopeChildren, isScopeParent, isScopeVariable, isScopeVariable, setScopeAll, setScopeChildren, setScopeParent, setScopeVariable`

### Methods inherited from class AbstractTestElement

`addPropertiesValues, addProperty, addProperty, addTestElement, canRemove, clear, clearTemporary, clearTestElementChildren, clone, emptyTemporary, equals, getComment, getName, getProperty, getPropertyAsBoolean, getPropertyAsBoolean, getPropertyAsDouble, getPropertyAsFloat, getPropertyAsInt, getPropertyAsInt, getPropertyAsLong, getPropertyAsLong, getPropertyAsString, getPropertyAsString, getSearchableTokens, getThreadContext, getThreadName, hashCode, isEnabled, isRunningVersion, isTemporary, logProperties, mergeIn, propertyIterator, recoverRunningVersion, removeProperty, setComment, setEnabled, setName, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setProperty, setRunningVersion, setTemporary, setThreadContext, setThreadName, traverse, traverseCollection, traverseMap, traverseProperty`

### Methods inherited from class Object

`finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### USE_HDRS

public static final String USE_HDRS

See Also:
  - Constant Field Values

### USE_REQUEST_HDRS

public static final String USE_REQUEST_HDRS

See Also:
  - Constant Field Values

### USE_BODY

public static final String USE_BODY

See Also:
  - Constant Field Values

### USE_BODY_UNESCAPED

public static final String USE_BODY_UNESCAPED

See Also:
  - Constant Field Values

### USE_BODY_AS_DOCUMENT

public static final String USE_BODY_AS_DOCUMENT

See Also:
  - Constant Field Values

### USE_URL

public static final String USE_URL

See Also:
  - Constant Field Values

### USE_CODE

public static final String USE_CODE

See Also:
  - Constant Field Values

### USE_MESSAGE

public static final String USE_MESSAGE

See Also:
  - Constant Field Values

## Constructor Details

### RegexExtractor

public RegexExtractor()

## Method Details

### process

public void process()
Parses the response data using regular expressions and saving the results into variables for use later in the test.

Specified by:
  `process` in interface `PostProcessor`
See Also:
  - `PostProcessor.process()`

### setRegex

public void setRegex(String regex)
Set the regex to be used

Parameters:
  `regex` - The string representation of the regex

### getRegex

public String getRegex()
Get the regex which is to be used

Returns:
  string representing the regex

### setRefName

public void setRefName(String refName)
Set the prefix name of the variable to be used to store the regex matches

Parameters:
  `refName` - prefix of the variables to be used

### getRefName

public String getRefName()
Get the prefix name of the variable to be used to store the regex matches

Returns:
  The prefix of the variables to be used

### setMatchNumber

public void setMatchNumber(int matchNumber)
Set which Match to use. This can be any positive number, indicating the exact match to use, or `0`, which is interpreted as meaning random.

Parameters:
  `matchNumber` - The number of the match to be used, or `0` if a random match should be used.

### setMatchNumber

public void setMatchNumber(String matchNumber)

### getMatchNumber

public int getMatchNumber()

### getMatchNumberAsString

public String getMatchNumberAsString()

### setDefaultValue

public void setDefaultValue(String defaultValue)
Sets the value of the variable if no matches are found

Parameters:
  `defaultValue` - The default value for the variable

### getDefaultValue

public String getDefaultValue()
Get the default value for the variable, which should be used, if no matches are found

Returns:
  The default value for the variable

### setTemplate

public void setTemplate(String template)

### getTemplate

public String getTemplate()

### useHeaders

public boolean useHeaders()

### useRequestHeaders

public boolean useRequestHeaders()

### useBody

public boolean useBody()

### useUnescapedBody

public boolean useUnescapedBody()

### useBodyAsDocument

public boolean useBodyAsDocument()

### useUrl

public boolean useUrl()

### useCode

public boolean useCode()

### useMessage

public boolean useMessage()

### setUseField

public void setUseField(String actionCommand)