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