Name
matchAll()
Description
This function is used to apply a regular expression to a piece of text,
and return a list of matching groups (elements found inside parentheses)
as a two-dimensional String array. If there are no matches, a null
value will be returned. If no groups are specified in the regular
expression, but the sequence matches, a two-dimensional array is still
returned, but the second dimension is only of length one.
To use the function, first check to see if the result is null. If the
result is null, then the sequence did not match at all. If the sequence did
match, a 2D array is returned.
If there are groups (specified by sets of parentheses) in the regular
expression, then the contents of each will be returned in the array.
Assuming a loop with counter variable i, element [i][0] of a regular
expression match returns the entire matching string, and the match groups
start at element [i][1] (the first group is [i][1], the second [i][2], and
so on).
The syntax can be found in the reference for Java's Pattern
class. For regular expression syntax, read the
Java
Tutorial on the topic.
Examples
String s = "Inside tags, you will find <tag>multiple< /tag>"; s += "<tag>pieces</tag> of <tag>content</tag>."; String[][] m = matchAll(s, "<tag>(.*?)</tag>"); for (int i = 0; i < m.length; i++) { println("Found '" + m[i][1] + "' inside a tag."); } // Prints to the console: // "Found 'multiple' inside a tag." // "Found 'pieces' inside a tag." // "Found 'content' inside a tag."
Syntax
matchAll(str, regexp)
Parameters
str
(String)
the String to be searchedregexp
(String)
the regexp to be used for matching
Return
String[][]
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.