I need to parse a log file and get the times and associated function call string
This is stored in the log file as so: {"time" : "2012-09-24T03:08:50", "message" : "Call() started"}
There will be multiple logged time function calls in between other string characters, so hence I am hoping to use regex to go through the file and grab all of these
I would like to grab the entire logged information including the curly brackets
I have tried the following
Pattern logEntry = Pattern.compile("{(.*?)}");
Matcher matchPattern = logEntry.matcher(file);
and
Pattern.compile("{[^{}]*}");
Matcher matchPattern = logEntry.matcher(file);
I keep getting illegal repetition errors, please help! Thanks.
解决方案
you need to escape '{' & '}' with a '\'
so: "{(.*?)}" becomes: "\\{(.*?)\\}"
where you have to escape the '\' with another '\' first
see: http://www.regular-expressions.info/reference.html for a comprehensive list of characters that need escaping...