我试图找到在 c7000 HP 机箱上连接和执行命令时如何解析来自 jsch 的特定输出的最佳方法。
到目前为止,我所做的是编写一个连接到 hp 机箱、执行命令、检索命令输出并将其从流转换为字符串的程序。
我最终得到了这个字符串
服务器刀片 #1 信息: 类型:刀片服务器 制造商:惠普 产品名称:ProLiant BL280c G6 部件号:507865-B21 系统板备件编号:531337-001 序列号:XZ73616G9Z UUID:38926035-5636-5D43-3330-359274423959 服务器名称:SERVERONE 资产标签:[未知] ROM 版本:I25 02/01/2013 CPU 1:Intel(R) Xeon(R) CPU E5520 @ 2.27GHz(4 核) CPU 2:Intel(R) Xeon(R) CPU E5520 @ 2.27GHz(4 核) 内存:49152 MB
现在我需要从这个字符串中提取一些信息并将其放入一个变量/变量中。我尝试过使用正则表达式,但似乎没有破解它。例如,我需要在一个字符串变量中使用产品名称“Proliant BL280c G6”,我以后可以使用它,序列号或其中的任何其他信息也是如此。我不需要的是前面的文本类型:或零件编号:。我只需要提取之后的内容。
我对 Java 很陌生,每天都在学习很多东西,这里的任何人都可以为我指出解决这个问题的最佳方法的正确方向吗?
编辑:非常感谢大家的快速回复。我现在对如何解决这个问题有了一些想法。最大的帮助是向我展示了如何正确使用正则表达式。我错过的是排除不需要的字符串片段的可能性。(?<=Product\sName:)。