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.

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.

Capturing Text in a Group in a Regular Expression

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[] argsthrows 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.