我有一个要解析的日志文件。它是关于使用正则表达式获取方括号之间和“OK:”之后的值。问题是我不知道模式发生了多少次,我不能说每个代码有多长。所以我只能转述它被“[OK:”和“]”包围的事实。
到目前为止,我试图在这里使用这个模式作为正则表达式:
String ok_pattern = "(.*itId=<)(.{1,10})(>.*)(\\[OK:)(.{4,27})(].*)";
Pattern p_ok = Pattern.compile(ok_pattern);
String testString = "RANDOMTEXT itId=<1232> Code < [OK:AZ1000105] [OK:10000006] [OK:F1000000007] > RANDOMTEXT";
Matcher m = p_ok.matcher(testString);
if(m.find()) {
System.out.println(m.group(5));
}
但这仅适用于只有一个“[OK:...]”的情况。我在第5组之后尝试使用“*”和“+”,但我无法成功。我如何重复进行此操作并仍然捕获所有结果?
我的目标是使用正则表达式在“OK:”之后提取 itemId 和(char-)数字组合。因此,在此示例中,我想获取“1232”(ItemID)和“AZ1000105”,“10000006”,“F1000000007”。
我感谢每一个帮助!
蛊毒传说
猛跑小猪
相关分类