如何使用regex在java中获取零件记录

如何使用regex在java中获取零件记录,java,regex,Java,Regex,返回的字符串是: Return(result="success" dev_id="8116015070006049" total="3" time="2015-10-04 10:01:25" id="42" name="a" workcode="0" status="0" authority="0X11" card_src="from_check" time="2015-10-04 10:09:59" id="42" name="b" workcode="0" sta

返回的字符串是:

Return(result="success" dev_id="8116015070006049" total="3"
time="2015-10-04 10:01:25" id="42" name="a" workcode="0" status="0"               authority="0X11" card_src="from_check"
time="2015-10-04 10:09:59" id="42" name="b" workcode="0" status="0" authority="0X11" card_src="from_check"
time="2015-10-04 10:12:36" id="42" name="c" workcode="0" status="0" authority="0X11" card_src="from_check"
)
我想要三张唱片:

time="2015-10-04 10:01:25" id="42" name="a"
time="2015-10-04 10:09:59" id="42" name="b"
time="2015-10-04 10:12:36" id="42" name="c"
在java中,我使用

Pattern p = Pattern.compile("\\btime=.*(?=workcode=\"0\")");
我刚刚得到:

time="2015-10-04 10:09:59" id="42" name="b"
time="2015-10-04 10:12:36" id="42" name="c"
我找不到第一个


为什么?

我不知道如何获得发布的内容,但是:必须在time=之后使用非贪婪的通配符,以便在下一个工作代码处停止

Pattern pat = Pattern.compile("\\btime=.*?(?=workcode=\"0\")");
Matcher mat = pat.matcher( s );
while( mat.find() ){
    System.out.println( mat.group() );
}
印刷品:

time="2015-10-04 10:01:25" id="42" name="a" 
time="2015-10-04 10:09:59" id="42" name="b" 
time="2015-10-04 10:12:36" id="42" name="c" 

这看起来像toString的返回值。这是调试时供人使用,而不是编程使用。对于编程访问,应该使用getter方法获取条目。