正则表达式 如何匹配到某一段字符 但是只输出其中的一部分

比如说:
String str = "某某公司的编号: ZZ2150538 是某某部门sbc212四方格分公司地方";
如何得到 "编号:"之后的 " ZZ2150538"
正则刚刚接触,我的正则是这么写的:

”编号:(|[\s])[A-Za-z0-9]*([\-]|)*[A-Za-z0-9]*[A-Za-z0-9]“
但是取出来之后需要替换掉"编号:",问题是 如何能不替换然后直接输出"ZZ2150538"呢?
给出解决方法更好,如果不能给个思路吧,谢谢,
可能我的思路也有问题,给指导一下也行

String str = "某某公司的编号: ZZ2150538 是某某部门sbc212四方格分公司地方";
Pattern p = Pattern.compile("(?<=编号: )([A-Za-z0-9]*)");
Matcher m = p.matcher(str);
while (m.find()) {
  System.out.println(m.group(0));
}

温馨提示:内容为网友见解,仅供参考
第1个回答  2018-01-16
m.group(0)-》m.group(2)
相似回答