【问题标题】:Parse file and delete bracket content using Java使用 Java 解析文件并删除括号内容
【发布时间】:2015-08-06 10:25:33
【问题描述】:

我有一个配置文件,其中包含多个符合以下语法的记录:

# some comment
Job {
   Name = "Job1"
   Include {
      Where = /etc
   }
}

我正在编写一个Java程序来解析这个文件,如果用户选择删除“Job1”,那么程序将删除“Job1”的整个括号。

困难的部分是如何找到与第一个打开的括号匹配的括号,如图所示,第一个括号内有几个括号。有时我们的记录不遵守 100% 的语法,例如:

# some comment
Job   {
   Include {
      Where = /etc
   }
   Name = "Job1"
}

所以它使解析更加困难。谁能给我一些想法?谢谢。

【问题讨论】:

  • 有机会改变语法吗?例如将其存储为真实的而非仅外观的 JSON?

标签: java regex parsing


【解决方案1】:

你不能用正则表达式来做到这一点,你需要一个语法解析器,比如Antlr

【讨论】:

  • 感谢您的链接,但它似乎有点太复杂了。现在我想也许我可以先找到“Job”括号,然后解析里面的内容。我不确定我是否能做到这一点。
猜你喜欢
  • 1970-01-01
  • 2017-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-14
  • 2020-08-24
  • 1970-01-01
相关资源
最近更新 更多