# MatchResult

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  
Summary:[Methods](https://developer.android.com/reference/java/util/regex/MatchResult#pubmethods)  

# MatchResult

`
public


interface
MatchResult
`  
`


`

|-----------------------------|
| java.util.regex.MatchResult |

|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| Known indirect subclasses [Matcher](https://developer.android.com/reference/java/util/regex/Matcher) |----------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [Matcher](https://developer.android.com/reference/java/util/regex/Matcher) | An engine that performs match operations on a[character sequence](https://developer.android.com/reference/java/lang/CharSequence)by interpreting a[Pattern](https://developer.android.com/reference/java/util/regex/Pattern). | |

<br />

*** ** * ** ***

The result of a match operation.

This interface contains query methods used to determine the results of a match against a regular expression. The match boundaries, groups and group boundaries can be seen but not modified through a`MatchResult`.  
**See also:**

- [Matcher](https://developer.android.com/reference/java/util/regex/Matcher)

## Summary

|                                                                                                                                         ### Public methods                                                                                                                                         ||
|--------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract int`                                                                | ` `[end](https://developer.android.com/reference/java/util/regex/MatchResult#end(int))`(int group) ` Returns the offset after the last character of the subsequence captured by the given group during this match. |
| ` abstract int`                                                                | ` `[end](https://developer.android.com/reference/java/util/regex/MatchResult#end())`() ` Returns the offset after the last character matched.                                                                      |
| ` abstract `[String](https://developer.android.com/reference/java/lang/String) | ` `[group](https://developer.android.com/reference/java/util/regex/MatchResult#group(int))`(int group) ` Returns the input subsequence captured by the given group during the previous match operation.            |
| ` abstract `[String](https://developer.android.com/reference/java/lang/String) | ` `[group](https://developer.android.com/reference/java/util/regex/MatchResult#group())`() ` Returns the input subsequence matched by the previous match.                                                          |
| ` abstract int`                                                                | ` `[groupCount](https://developer.android.com/reference/java/util/regex/MatchResult#groupCount())`() ` Returns the number of capturing groups in this match result's pattern.                                      |
| ` abstract int`                                                                | ` `[start](https://developer.android.com/reference/java/util/regex/MatchResult#start())`() ` Returns the start index of the match.                                                                                 |
| ` abstract int`                                                                | ` `[start](https://developer.android.com/reference/java/util/regex/MatchResult#start(int))`(int group) ` Returns the start index of the subsequence captured by the given group during this match.                 |

## Public methods

### end

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract int end (int group)
```

Returns the offset after the last character of the subsequence captured by the given group during this match.

[Capturing groups](https://developer.android.com/reference/java/util/regex/Pattern#cg)are indexed from left to right, starting at one. Group zero denotes the entire pattern, so the expression*m.* `end(0)`is equivalent to*m.* `end()`.

<br />

<br />

|                                   Parameters                                    ||
|---------|------------------------------------------------------------------------|
| `group` | `int`: The index of a capturing group in this matcher's pattern <br /> |

|                                                                        Returns                                                                         ||
|-------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | The offset after the last character captured by the group, or`-1`if the match was successful but the group itself did not match anything <br /> |

|                                                                                         Throws                                                                                          ||
|----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)         | If no match has yet been attempted, or if the previous match operation failed |
| [IndexOutOfBoundsException](https://developer.android.com/reference/java/lang/IndexOutOfBoundsException) | If there is no capturing group in the pattern with the given index            |

### end

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract int end ()
```

Returns the offset after the last character matched.

<br />

|                          Returns                          ||
|-------|----------------------------------------------------|
| `int` | The offset after the last character matched <br /> |

|                                                                                     Throws                                                                                      ||
|--------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | If no match has yet been attempted, or if the previous match operation failed |

### group

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract String group (int group)
```

Returns the input subsequence captured by the given group during the previous match operation.

For a matcher*m* , input sequence*s* , and group index*g* , the expressions*m.* `group(`*g* `)`and*s.* `substring(`*m.* `start(`*g* `),`*m.* `end(`*g* `))`are equivalent.

[Capturing groups](https://developer.android.com/reference/java/util/regex/Pattern#cg)are indexed from left to right, starting at one. Group zero denotes the entire pattern, so the expression`m.group(0)`is equivalent to`m.group()`.

If the match was successful but the group specified failed to match any part of the input sequence, then`null`is returned. Note that some groups, for example`(a*)`, match the empty string. This method will return the empty string when such a group successfully matches the empty string in the input.

<br />

<br />

|                                   Parameters                                    ||
|---------|------------------------------------------------------------------------|
| `group` | `int`: The index of a capturing group in this matcher's pattern <br /> |

|                                                                                                       Returns                                                                                                       ||
|--------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | The (possibly empty) subsequence captured by the group during the previous match, or`null`if the group failed to match part of the input <br /> |

|                                                                                         Throws                                                                                          ||
|----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)         | If no match has yet been attempted, or if the previous match operation failed |
| [IndexOutOfBoundsException](https://developer.android.com/reference/java/lang/IndexOutOfBoundsException) | If there is no capturing group in the pattern with the given index            |

### group

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract String group ()
```

Returns the input subsequence matched by the previous match.

For a matcher*m* with input sequence*s* , the expressions*m.* `group()`and*s.* `substring(`*m.* `start(),`*m.* `end())`are equivalent.

Note that some patterns, for example`a*`, match the empty string. This method will return the empty string when the pattern successfully matches the empty string in the input.

<br />

<br />

|                                                                          Returns                                                                          ||
|--------------------------------------------------------------------|---------------------------------------------------------------------------------------|
| [String](https://developer.android.com/reference/java/lang/String) | The (possibly empty) subsequence matched by the previous match, in string form <br /> |

|                                                                                     Throws                                                                                      ||
|--------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | If no match has yet been attempted, or if the previous match operation failed |

### groupCount

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract int groupCount ()
```

Returns the number of capturing groups in this match result's pattern.

Group zero denotes the entire pattern by convention. It is not included in this count.

Any non-negative integer smaller than or equal to the value returned by this method is guaranteed to be a valid group index for this matcher.

<br />

<br />

|                                Returns                                 ||
|-------|-----------------------------------------------------------------|
| `int` | The number of capturing groups in this matcher's pattern <br /> |

### start

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract int start ()
```

Returns the start index of the match.

<br />

|                        Returns                         ||
|-------|-------------------------------------------------|
| `int` | The index of the first character matched <br /> |

|                                                                                     Throws                                                                                      ||
|--------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException) | If no match has yet been attempted, or if the previous match operation failed |

### start

Added in[API level 1](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)  

```
public abstract int start (int group)
```

Returns the start index of the subsequence captured by the given group during this match.

[Capturing groups](https://developer.android.com/reference/java/util/regex/Pattern#cg)are indexed from left to right, starting at one. Group zero denotes the entire pattern, so the expression*m.* `start(0)`is equivalent to*m.* `start()`.

<br />

<br />

|                                   Parameters                                    ||
|---------|------------------------------------------------------------------------|
| `group` | `int`: The index of a capturing group in this matcher's pattern <br /> |

|                                                                       Returns                                                                       ||
|-------|----------------------------------------------------------------------------------------------------------------------------------------------|
| `int` | The index of the first character captured by the group, or`-1`if the match was successful but the group itself did not match anything <br /> |

|                                                                                         Throws                                                                                          ||
|----------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------|
| [IllegalStateException](https://developer.android.com/reference/java/lang/IllegalStateException)         | If no match has yet been attempted, or if the previous match operation failed |
| [IndexOutOfBoundsException](https://developer.android.com/reference/java/lang/IndexOutOfBoundsException) | If there is no capturing group in the pattern with the given index            |