org.springframework.batch.item.file.transform

## Class RegexLineTokenizer

- java.lang.Object
- - org.springframework.batch.item.file.transform.AbstractLineTokenizer
  - - org.springframework.batch.item.file.transform.RegexLineTokenizer

- All Implemented Interfaces:
    LineTokenizer

      public class RegexLineTokenizer
      extends AbstractLineTokenizer

  Line-tokenizer using a regular expression to filter out data (by using matching and non-matching groups). Consider the following regex which picks only the first and last name (notice the non-matching group in the middle):

       (.*?)(?: .*)* (.*)

  For the names:
  - "Graham James Edward Miller"
  - "Andrew Gregory Macintyre"
  - "No MiddleName"
  the output will be:
  - "Miller", "Graham"
  - "Macintyre", "Andrew"
  - "MiddleName", "No"
  An empty list is returned, in case of a non-match.
  Author:
    Costin Leau
  See Also:
    `Matcher.group(int)`

- - ### Field Summary

    - ### Fields inherited from class org.springframework.batch.item.file.transform.AbstractLineTokenizer

      `names`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `RegexLineTokenizer()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected java.util.List<java.lang.String>` | `doTokenize(java.lang.String line)`
    `void` | `setPattern(java.util.regex.Pattern pattern)` Sets the regex pattern to use.
    `void` | `setRegex(java.lang.String regex)` Sets the regular expression to use.

    - ### Methods inherited from class org.springframework.batch.item.file.transform.AbstractLineTokenizer

      `hasNames, isStrict, setFieldSetFactory, setNames, setStrict, tokenize`

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

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

- - ### Constructor Detail

    - #### RegexLineTokenizer

          public RegexLineTokenizer()

  - ### Method Detail

    - #### doTokenize

          protected java.util.List<java.lang.String> doTokenize(java.lang.String line)

      Specified by:
        `doTokenize` in class `AbstractLineTokenizer`

    - #### setPattern

          public void setPattern(java.util.regex.Pattern pattern)

      Sets the regex pattern to use.
      Parameters:
        `pattern` - Regular Expression pattern

    - #### setRegex

          public void setRegex(java.lang.String regex)

      Sets the regular expression to use.
      Parameters:
        `regex` - regular expression (as a String)