Home Java Example Java Util Capturing Text in a Group in a Regular Expression
Questions:Ask|Latest



Capturing Text in a Group in a Regular Expression
Posted on: April 16, 2007 By Deepak Kumar
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. 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.


Recommend the tutorial

Ask Questions?    Discuss: Capturing Text in a Group in a Regular Expression  

Post your Comment


Your Name (*) :
Your Email :
Subject (*):
Your Comment (*):
  Reload Image
 
 
Comments