You need to call find()
on the Matcher
before you can call group()
and related functions that queries about the matched text or manipulate it (start()
, end()
, appendReplacement(StringBuffer sb, String replacement)
, etc.).
So in your case:
if (m.find()) {
System.out.println("id = " + m.group(1));
}
This will find the first match (if any) and extract the first capturing group matched by the regex. Change if
to while
loop if you want to find all matches in the input string.