Class RegexFieldValueExtractor
Simplify extraction of field/value pairs (or "key/value") from text using regular expression. Match groups can be used to identify the fields and values. Field matching is optional and can be set explicitly instead. If both a "toField" and a "fieldGroup" are provided, the toField act as a default when no fields could be obtained from matching. At least one of "toField" or "fieldGroup" must be specified. If fieldGroup is specified without a "toField" and finds no matches, the matching of the value is ignored. If no value group is provided, it assumes the entire regex match is the value. If more than one value is extracted for a given toField, they will be available as a list.
When initialized with a "pattern" only instead of passing or configuring
a Regex instance, a default one will be created, assuming
case insensitivity and dots matching any character.
- Since:
- 2.0.0 (moved from Norconex Importer RegexKeyValueExtractor)
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionRegexFieldValueExtractor(Regex regex) RegexFieldValueExtractor(Regex regex, int fieldGroup, int valueGroup) RegexFieldValueExtractor(Regex regex, String field) RegexFieldValueExtractor(Regex regex, String field, int valueGroup) RegexFieldValueExtractor(String pattern) RegexFieldValueExtractor(String pattern, int fieldGroup, int valueGroup) RegexFieldValueExtractor(String pattern, String field) RegexFieldValueExtractor(String pattern, String field, int valueGroup) -
Method Summary
Modifier and TypeMethodDescriptionprotected booleanbooleanvoidextractFieldValues(Properties dest, CharSequence text) static voidextractFieldValues(Properties dest, CharSequence text, RegexFieldValueExtractor... extractors) static voidextractFieldValues(Properties dest, CharSequence text, List<RegexFieldValueExtractor> extractors) static PropertiesextractFieldValues(CharSequence text, RegexFieldValueExtractor... extractors) static PropertiesextractFieldValues(CharSequence text, List<RegexFieldValueExtractor> extractors) intgetOnSet()Gets the property setter to use when a value is set.getRegex()intinthashCode()setFieldGroup(int fieldGroup) setOnSet(PropertySetter onSet) Sets the property setter to use when a value is set.setToField(String field) setValueGroup(int valueGroup) toString()
-
Field Details
-
EMPTY_ARRAY
-
-
Constructor Details
-
RegexFieldValueExtractor
public RegexFieldValueExtractor() -
RegexFieldValueExtractor
-
RegexFieldValueExtractor
-
RegexFieldValueExtractor
-
RegexFieldValueExtractor
-
RegexFieldValueExtractor
-
RegexFieldValueExtractor
-
RegexFieldValueExtractor
-
RegexFieldValueExtractor
-
-
Method Details
-
getRegex
-
setRegex
-
getFieldGroup
public int getFieldGroup() -
setFieldGroup
-
getValueGroup
public int getValueGroup() -
setValueGroup
-
getToField
-
setToField
-
getOnSet
Gets the property setter to use when a value is set.- Returns:
- property setter
- Since:
- 3.0.0
-
setOnSet
Sets the property setter to use when a value is set.- Parameters:
onSet- property setter- Returns:
- this instance
- Since:
- 3.0.0
-
extractFieldValues
-
extractFieldValues
-
extractFieldValues
public static void extractFieldValues(Properties dest, CharSequence text, List<RegexFieldValueExtractor> extractors) -
extractFieldValues
public static Properties extractFieldValues(CharSequence text, List<RegexFieldValueExtractor> extractors) -
extractFieldValues
public static void extractFieldValues(Properties dest, CharSequence text, RegexFieldValueExtractor... extractors) -
extractFieldValues
public static Properties extractFieldValues(CharSequence text, RegexFieldValueExtractor... extractors) -
equals
-
canEqual
-
hashCode
public int hashCode() -
toString
-