Using the Captured Text of a Group within a Pattern : Group « Regular Expressions « Java






Using the Captured Text of a Group within a Pattern


import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
  public static void main(String[] argv) throws Exception {
    String patternStr = "<(\\S+?).*?>(.*?)</\\1>";
    Pattern pattern = Pattern.compile(patternStr);
    Matcher matcher = pattern.matcher("");

    // Set the input
    matcher.reset("xx <tag a=b> yy </tag> zz");

    // Get tagname and contents of tag
    boolean matchFound = matcher.find(); 
    String tagname = matcher.group(1); 
    String contents = matcher.group(2); 

    matcher.reset("xx <tag> yy </tag0>");
    matchFound = matcher.find(); 
  }
}

 








Related examples in the same category

1.find the starting point of the first subgroup
2.Find the starting point of the second subgroup
3.Matcher.group(int) Method Example
4.Find group number 1 of the second find
5.Matcher Group Count
6.Using appendReplacement with Subgroup Replacements
7.Working with Groups: characters and digits
8.Working with Subgroups
9.Capturing Text in a Group in a Regular Expression
10.Getting the Indices of a Matching Group in a Regular Expression
11.Using a Non-Capturing Group in a Regular Expression
12.Using the Captured Text of a Group within a Replacement Pattern