用于捕获键/值的java正则表达式
我有一个命令的输出,里面基本上列出了一堆键/值对。输出没有明显的格式,因此我认为正则表达式将是最好的方法
输出:http://pastebin.com/Hfu4nP3M
基本上,我需要存储第21-30行的键/值对(逗号分隔),并将它们存储在地图中
可以用正则表达式实现吗
谢谢
你可以在下面搜索框中键入要查询的问题!
我有一个命令的输出,里面基本上列出了一堆键/值对。输出没有明显的格式,因此我认为正则表达式将是最好的方法
输出:http://pastebin.com/Hfu4nP3M
基本上,我需要存储第21-30行的键/值对(逗号分隔),并将它们存储在地图中
可以用正则表达式实现吗
谢谢
# 1 楼答案
这可能需要一些清理,我不经常使用正则表达式,也从来没有在Java中使用过
尝试使用正则表达式:
也就是说:找到一个等于“{”或“,”的字符,然后找到不是“,”}或“,”的无限字符,直到找到一个等于“}”或“,”的字符
要查找尚未用引号标记的所有内容,请将其匹配
然后把它放回日志的正确位置。完成所有操作后,可以使用JSON读取日志
此外,您可能希望将日志存储在内存中,这样操作起来就更容易了
# 2 楼答案
可以逐行读取输出,直到使用String.equals()找到“{memory”。 接下来你可以做
# 3 楼答案
我不确定这是否是您想要的,但因为您说过需要存储第21-30行中的键/值对(逗号分隔),它们是
我假设您希望读取存储在
[...]
中的memory
之后的值要做到这一点,你可以使用
输出