Package org.apache.jmeter.extractor

# 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`, `org.apache.jmeter.testelement.TestElement`

public class RegexExtractor extends AbstractScopedTestElement implements PostProcessor, Serializable

See Also:
  - Serialized Form

## Nested Class Summary

## Nested classes/interfaces inherited from interface org.apache.jmeter.testelement.TestElement

`org.apache.jmeter.testelement.TestElement.Companion`

## 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 org.apache.jmeter.testelement.TestElement

`COMMENTS, Companion, 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()`
`org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends RegexExtractor,? extends org.apache.jmeter.extractor.RegexExtractorSchema>`
`getProps()`
`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
`org.apache.jmeter.extractor.RegexExtractorSchema`
`getSchema()`
`String`
`getTemplate()`
`boolean`
`isEmptyDefaultValue()`
Do we set default value to "" value when if it's empty
`void`
`process()`
Parses the response data using regular expressions and saving the results into variables for use later in the test.
`void`
`setDefaultEmptyValue(boolean defaultEmptyValue)`
Set default value to "" value when if it's empty
`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 org.apache.jmeter.testelement.AbstractScopedTestElement

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

### Methods inherited from class org.apache.jmeter.testelement.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, getPropertyOrNull, 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 java.lang.Object

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

### Methods inherited from interface org.apache.jmeter.testelement.TestElement

`get, get, get, get, get, get, get, get, get, getOrCreate, getOrCreate, getOrNull, getOrNull, getOrNull, getPropertyOrNull, getString, removed, removeProperty, set, set, set, set, set, set, set, set, set`

## 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

### getSchema

public org.apache.jmeter.extractor.RegexExtractorSchema getSchema()

Specified by:
  `getSchema` in interface `org.apache.jmeter.testelement.TestElement`
Overrides:
  `getSchema` in class `AbstractScopedTestElement`

### getProps

public org.apache.jmeter.testelement.schema.PropertiesAccessor<? extends RegexExtractor,? extends org.apache.jmeter.extractor.RegexExtractorSchema> getProps()

Specified by:
  `getProps` in interface `org.apache.jmeter.testelement.TestElement`
Overrides:
  `getProps` in class `AbstractScopedTestElement`

### 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

### setDefaultEmptyValue

public void setDefaultEmptyValue(boolean defaultEmptyValue)
Set default value to "" value when if it's empty

Parameters:
  `defaultEmptyValue` - 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

### isEmptyDefaultValue

public boolean isEmptyDefaultValue()
Do we set default value to "" value when if it's empty

Returns:
  true if we should set default value to "" if variable cannot be extracted

### 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)