Package: java.util.regex

## Class Matcher

- - ### Methods Summary

    Methods
    Return type | Name and parameters
    --- | ---
    `boolean` | `asBoolean()` Coerce a Matcher instance to a boolean value.
    `Object` | `getAt(int idx)` Support the subscript operator, e.g. matcher[index], for a regex Matcher.
    `List` | `getAt(Collection indices)` Select a List of values from a Matcher using a Collection to identify the indices to be selected.
    `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`.

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

    `addShutdownHook`, `any`, `any`, `asBoolean`, `asType`, `collect`, `collect`, `collect`, `contains`, `count`, `dump`, `each`, `eachWithIndex`, `equals`, `every`, `every`, `find`, `find`, `findAll`, `findAll`, `findIndexOf`, `findIndexOf`, `findIndexValues`, `findIndexValues`, `findLastIndexOf`, `findLastIndexOf`, `findResult`, `findResult`, `flatten`, `getAt`, `getMetaClass`, `getMetaPropertyValues`, `getProperties`, `grep`, `grep`, `groupBy`, `groupBy`, `hasProperty`, `identity`, `inject`, `inject`, `inspect`, `invokeMethod`, `is`, `isCase`, `iterator`, `join`, `metaClass`, `print`, `print`, `printf`, `printf`, `println`, `println`, `println`, `putAt`, `respondsTo`, `respondsTo`, `setMetaClass`, `size`, `split`, `sprintf`, `sprintf`, `sum`, `sum`, `tap`, `toArrayString`, `toSpreadMap`, `toString`, `use`, `use`, `use`, `with`, `with`, `withTraits`

- - ### Methods Detail

    - #### public boolean asBoolean()

      Coerce a Matcher instance to a boolean value.

      Returns:
        the boolean value
      Since:
        1.7.0

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

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

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

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

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

    - #### public Iterator iterator()

      Returns an Iterator which traverses each match.

      Returns:
        an Iterator for a Matcher
      Since:
        1.0
      See Also:
        Matcher#group()

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

    - #### public void setIndex(int idx)

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

      Parameters:
        `idx` - the index number
      Since:
        1.0

    - #### public long size()

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

      Returns:
        the matcher's size (count)
      Since:
        1.5.0