Capturing Text in a Group in a Regular Expression

This section illustrates you how to capture the text in
a group through the regular expression. Here, you can learn the procedure of
capturing text made by the given alphabets (mentioned in the code of the program
"a", "b" and "c") from the group of text.
In this section, you will capture the text which is
completely made by alphabet a, b and c. For example, if you input the text
"sdabcdsjfs" then it display the "abc", "ab",
"a" and "b" in the console output because the regular
expression mentioned in the code detects the first occurrence of the matching
word made by alphabet "a", "b" and "c". The
mentioned regular expression matches the word in sequence like "(a(b*))+(c*)"
then "(a(b*))+" then "a" and "b".
Here is the code of the program:
import java.util.regex.*;
import java.io.*;
public class CaptureTextInGroup{
public static void main(String[] args) throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Enter text for finding groups of text: ");
String inputStr = in.readLine();
String patternStr = "(a(b*))+(c*)";
// Compile and use regular expression
Pattern pattern = Pattern.compile(patternStr);
Matcher matcher = pattern.matcher(inputStr);
boolean matchFound = matcher.find();
if(matchFound){
// Get all groups for this match
for(int i=0; i<=matcher.groupCount(); i++){
String groupStr = matcher.group(i);
System.out.println(groupStr);
}
}
}
}
|
Download this example.

|
Current Comments
0 comments so far (post your own) View All Comments Latest 10 Comments: