花括号之间的Java正则表达式匹配
我需要解析一个日志文件并获取时间和相关的函数调用字符串,它以如下方式存储在日志文件中:{“ time”:“ 2012-09-24T03:08:50”,“
message”:“ Call( )开始”}
在其他字符串字符之间将有多个记录的时间函数调用,因此我希望使用正则表达式浏览文件并获取所有这些
我想获取包括大括号在内的整个记录的信息
我尝试了以下
Pattern logEntry = Pattern.compile("{(.*?)}");Matcher matchPattern = logEntry.matcher(file);
和
Pattern.compile("{[^{}]*}");Matcher matchPattern = logEntry.matcher(file);
我不断收到非法的重复错误,请帮忙!谢谢。
回答:
您需要使用’'转义’{‘&’}’
所以:"{(.*?)}"
变成:"\\{(.*?)\\}"
您必须先用另一个’'转义’'
有关需要转义的字符的完整列表,请参见:http://www.regular-
expressions.info/reference.html …
以上是 花括号之间的Java正则表达式匹配 的全部内容, 来源链接: utcz.com/qa/412791.html