Groovy JDK

## java.util.regex
Class Matcher

Method Summary
`boolean` | `asBoolean()` Coerce a Matcher instance to a boolean value.
`List` | `getAt(Collection indices)` Select a List of values from a Matcher using a Collection to identify the indices to be selected.
`Object` | `getAt(int idx)` Support the subscript operator, e.g.
`int` | `getCount()` Find the number of Strings matched to the given Matcher.
`static Matcher` | `getLastMatcher()` Get the last hidden matcher that the system used to do a match.
`boolean` | `hasGroup()` Check whether a Matcher contains a group or not.
`Iterator` | `iterator()` Returns an Iterator which traverses each match.
`boolean` | `matchesPartially()` Given a matcher that matches a string against a pattern, this method returns true when the string matches the pattern or if a longer string, could match the pattern.
`void` | `setIndex(int idx)` Set the position of the given Matcher to the given index.
`long` | `size()` Provide the standard Groovy `size()` method for `Matcher`.

Method Detail

### asBoolean

    public boolean asBoolean()

  Coerce a Matcher instance to a boolean value.

Returns:
  the boolean value

Since:
  1.7.0

### getAt

    public List getAt(Collection indices)

  Select a List of values from a Matcher using a Collection to identify the indices to be selected.

Parameters:
  `indices` - a Collection of indices.

Returns:
  a String of the values at the given indices

Since:
  1.6.0

### getAt

    public Object getAt(int idx)

  Support the subscript operator, e.g. matcher[index], for a regex Matcher.

  For an example using no group match,

         def p = /ab[d|f]/
         def m = "abcabdabeabf" =~ p
         assert 2 == m.count
         assert 2 == m.size() // synonym for m.getCount()
         assert ! m.hasGroup()
         assert 0 == m.groupCount()
         def matches = ["abd", "abf"]
         for (i in 0..<m.count) {
           assert m[i] == matches[i]
         }

  For an example using group matches,

         def p = /(?:ab([c|d|e|f]))/
         def m = "abcabdabeabf" =~ p
         assert 4 == m.count
         assert m.hasGroup()
         assert 1 == m.groupCount()
         def matches = [["abc", "c"], ["abd", "d"], ["abe", "e"], ["abf", "f"]]
         for (i in 0..<m.count) {
           assert m[i] == matches[i]
         }

  For another example using group matches,

         def m = "abcabdabeabfabxyzabx" =~ /(?:ab([d|x-z]+))/
         assert 3 == m.count
         assert m.hasGroup()
         assert 1 == m.groupCount()
         def matches = [["abd", "d"], ["abxyz", "xyz"], ["abx", "x"]]
         for (i in 0..<m.count) {
           assert m[i] == matches[i]
         }

Parameters:
  `idx` - an index.

Returns:
  object a matched String if no groups matched, list of matched groups otherwise.

Since:
  1.0

### getCount

    public int getCount()

  Find the number of Strings matched to the given Matcher.

Returns:
  int the number of Strings matched to the given matcher.

Since:
  1.0

### getLastMatcher

    public static Matcher getLastMatcher()

  Get the last hidden matcher that the system used to do a match.

Returns:
  the last regex matcher

Since:
  1.0

### hasGroup

    public boolean hasGroup()

  Check whether a Matcher contains a group or not.

Returns:
  boolean `true` if matcher contains at least one group.

Since:
  1.0

### iterator

    public Iterator iterator()

  Returns an Iterator which traverses each match.

Returns:
  an Iterator for a Matcher

Since:
  1.0

See:
  Matcher#group.

### matchesPartially

    public boolean matchesPartially()

  Given a matcher that matches a string against a pattern, this method returns true when the string matches the pattern or if a longer string, could match the pattern. For example:

          def emailPattern = /\w+@\w+\.\w{2,}/

          def matcher = "john@doe" =~ emailPattern
          assert matcher.matchesPartially()

          matcher = "john@doe.com" =~ emailPattern
          assert matcher.matchesPartially()

          matcher = "john@@" =~ emailPattern
          assert !matcher.matchesPartially()

Returns:
  true if more input to the String could make the matcher match the associated pattern, false otherwise.

Since:
  2.0.0

### setIndex

    public void setIndex(int idx)

  Set the position of the given Matcher to the given index.

Parameters:
  `idx` - the index number.

Since:
  1.0

### size

    public long size()

  Provide the standard Groovy `size()` method for `Matcher`.

Returns:
  the matcher's size (count)

Since:
  1.5.0

Groovy JDK