1. 添加测试用例
parent
61d0046f9b
commit
ecf3c08edb
@ -0,0 +1,65 @@
|
||||
package com.supervision;
|
||||
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import lombok.Data;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.regex.Matcher;
|
||||
import java.util.regex.Pattern;
|
||||
|
||||
@Slf4j
|
||||
public class LogParse {
|
||||
|
||||
public static void main(String[] args) {
|
||||
String input = FileUtil.readString("F:\\tmp\\1\\log\\log.txt", "UTF-8");
|
||||
if (StrUtil.isEmpty(input)){
|
||||
log.warn("log file is empty");
|
||||
return;
|
||||
}
|
||||
|
||||
String[] split = input.split("======start=======");
|
||||
|
||||
List<RowData> rowDataList = new ArrayList<>(); // 存储提取的数据
|
||||
for (String item : split) {
|
||||
item = "======start=======" + item;
|
||||
String pattern = "======start=======>>>question:([^\\n]+)\\n((?:(?!===end===).)+)====end=====>>>answer:(.*)<<<======end=======";;
|
||||
Pattern regex = Pattern.compile(pattern, Pattern.DOTALL); // 创建Pattern对象
|
||||
Matcher matcher = regex.matcher(item); // 创建Matcher对象
|
||||
while (matcher.find()) {
|
||||
rowDataList.add(new RowData(matcher.group(1), matcher.group(3), matcher.group(2)));
|
||||
}
|
||||
}
|
||||
|
||||
rowDataList.forEach(rowData -> {
|
||||
System.out.println("question:"+rowData.getQuestion());
|
||||
System.out.println("answer:"+ rowData.getAnswer());
|
||||
});
|
||||
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class RowData{
|
||||
private String question;
|
||||
|
||||
private String answer;
|
||||
|
||||
private String logData;
|
||||
|
||||
public RowData(String question, String answer, String logData) {
|
||||
this.question = question;
|
||||
this.answer = answer;
|
||||
this.logData = logData;
|
||||
}
|
||||
|
||||
public RowData() {
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
Loading…
Reference in New Issue