I have two types of strings:
1) "bla bla <a>interesting</a> bla bzzz"
2) "bla bla <b>interesting bla bzzz"
What I need is to capture the "interesting" substring, preferably using one pattern.
So far I have
public static void main(String[] args) {
    Pattern pattern = Pattern.compile("(<a>(.*?)</a>)|(<b>(.*?))");
    String message = "bzzzzzz <a>AaA</a>efwef<b>BbB";
    Matcher matcher = pattern.matcher(message);
    while (matcher.find()) {
        for (int i = 1; i <= matcher.groupCount(); i++) {
            System.out.println(matcher.group(i));
        }
    }
}
The result I would like is
AaA
BbB
But instead I'm getting
<a>AaA</a>
AaA
null
null
null
null
<b>
Any ideas? Thanks