当前位置: 首页 > 知识库问答 >
问题:

花括号间的Java Regex匹配

关飞翔
2023-03-14

我需要解析一个日志文件并获取时间和相关的函数调用字符串,该字符串存储在日志文件中,如下所示:{“time”:“2012-09-24t03:08:50”,“message”:“call()started”}

在其他字符串字符之间会有多个日志时间函数调用,因此我希望使用regex来遍历文件并获取所有这些

我想获取整个记录的信息,包括花括号

Pattern logEntry = Pattern.compile("{(.*?)}");
Matcher matchPattern = logEntry.matcher(file);
Pattern.compile("{[^{}]*}");
Matcher matchPattern = logEntry.matcher(file);

我不断得到非法重复错误,请帮助!谢了。

共有1个答案

漆雕欣德
2023-03-14

您需要用“\”转义“{”&“}”

所以:“{(.*?)}”变成:“\\{(.*?)\\}”

在这里你必须先用另一个“\”来逃避“\”

 类似资料:
  • 问题内容: 我需要解析一个日志文件并获取时间和相关的函数调用字符串,它以如下方式存储在日志文件中:{“ time”:“ 2012-09-24T03:08:50”,“ message”:“ Call( )开始”} 在其他字符串字符之间将有多个记录的时间函数调用,因此我希望使用正则表达式浏览文件并获取所有这些 我想获取包括大括号在内的整个记录​​的信息 我尝试了以下 和 我不断收到非法的重复错误,请帮

  • 我需要在和之间匹配文本示例: 我需要匹配这个文本 简单正则表达式将正常工作,直到我在文本中放置一些 文本内的卷括号配对以匹配。 有没有可能通过正则表达式来解决这个问题?

  • 我有一个字符串: 我想匹配花括号外的所有逗号。 我想要的输出是: 我尝试了: 但输出不同: 谢谢你。

  • 问题内容: 我对这个尖角世界是陌生的,我对使用双花括号{{}}和单花括号{}感到困惑,或者有时不使用花括号来包含指令中的表达式 问题答案: {{}}-双大括号: 是Angular表达式,当您希望将内容编写为HTML时非常方便: 不要在已经是表达式的地方使用它们! 例如,该指令将引号之间的任何内容都视为一个表达式: {}-大括号: 我们知道JavaScript代表对象。这里也没有什么不同: 使用一些

  • 上面的正则表达式返回括号之间的文本。 如: 如何重写上面的正则表达式,所以我提供了一个类似的字符串,它将返回。i、 e带括号的部分,其中包含大括号中的字符串。

  • 问题内容: 有没有一种快速的方法可以使Eclipse将花括号放在代码块的下一行上(本身)? 问题答案: 对于预先编写的代码块,请先按照Don的建议进行设置,然后选择该代码段,然后右键单击SourceCode->Format,然后按照首选项中的设置进行格式化。