gpt4 book ai didi

java - 在使用 Java 中的正则表达式从日志中提取表达式时需要帮助

转载 作者:行者123 更新时间:2023-11-30 12:08:45 26 4
gpt4 key购买 nike

我有一个字符串形式的日志,我正试图从中捕获错误消息。我试过的正则表达式不起作用。

String = "Retrying for error: [[\"billing\",\{u'non_field_errors': [u'Invalid payment email provided']}\"]]"

我需要提取错误信息是

Invalid payment email provided

如何使用正则表达式提取它?

我尝试了模式 Retrying for error: (\\.+),但它不起作用:

String pattern = "Retrying for error: (\\.+)";
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(unescapedStr);
if (m.find()) {
error = m.group(1);
}

怎样才能得到预期的结果?

Invalid payment email provided, Actual: null

最佳答案

您不必使用正则表达式。这个怎么样

        String x = "Retrying for error: [[\"billing\",\\{u'non_field_errors': [u'Invalid payment email provided']}\"]]";

String c = x.replace("Retrying for error: ","");

String g = c.substring(c.lastIndexOf('[')+1);

String v = g.substring(0, g.indexOf(']'));

System.out.println(v);

这打印

u'提供的付款电子邮件无效'

现在您的日志中是否有多个 Retrying for error: 实例?还有,这样做吗

“正在重试错误:[[\"billing\",\\{u'non_field_errors': [u'提供的付款电子邮件无效']}\"]]";

代表日志中的一行?

主要思想是这样的:如果您的日志文件中的每一行只有一个 Retrying for error: 实例,那么您可以轻松地一次解析一行日志,并反复去除不需要的内容。

关于java - 在使用 Java 中的正则表达式从日志中提取表达式时需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54207793/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com