java - 通过 Java 解析输出
问题描述
我只需要“POLICY ENM_USERDEFINED_wtc2e3lms-bu”和“EXIT STATUS”的值。也有类似的输出,但在不同的位置。所以不能使用子字符串或拆分。解析必须由Java完成。
解决方案
您可以使用几个正则表达式来查找并返回您之后的文本。
例如,使用...
public String find(String pattern, String in) {
Pattern p = Pattern.compile(pattern);
Matcher matcher = p.matcher(in);
if (matcher.find()) {
return matcher.group();
}
return null;
}
和...
String value = "some preable POLICY ENM_USERDEFINED_wtc2e3lms-bu some postable EXIT STATUS 100 some other stuff thrown in the mix";
System.out.println(find("POLICY ENM[a-zA-Z_0-9-]+", value));
System.out.println(find("EXIT STATUS [0-9]+", value));
输出...
POLICY ENM_USERDEFINED_wtc2e3lms-bu
EXIT STATUS 100
从那里,我会使用另一个正则表达式来提取实际的状态值......但我相信你可以弄清楚那部分;)
推荐阅读
- angular - Angular Typescript 从数据库加载对象
- r - 如何设置不同的阈值以获得 ROC 图的多个值
- firebase - 使用 Firestore 进行新闻提要收集和请求设计
- entity-framework - EF Core 转换为 MAX(Last) GROUP BY、Contains 和 WHERE 的 LINQ 组合
- python - 从 Python 的 Request 模块的 get 请求中获取连接超时
- ios - 使用 Swift 4 中的 Encodable/Decodable 对结构进行编码/解码
- java - 打印 ArrayList 的子列表(基于用户输入的待办事项列表)导致空 ArrayList
- aws-api-gateway - 调用 AWS 网关 API:com.amazon.coral.service#SerializationException
- javascript - 选择不同的语言时更改样式表。
- karate - 我们可以循环功能文件并在空手道中使用多个登录用户执行吗