gpt4 book ai didi

java - 正则表达式 xml 之外的电子邮件地址

转载 作者:行者123 更新时间:2023-12-02 00:19:27 27 4
gpt4 key购买 nike

我的问题:解析以下信息的好方法是什么?

我有一个 java 程序,它从 XML 获取输入。我有一个功能,如果处理过程中出现任何问题,它会发送错误电子邮件。因为解析 XML 可能是一个问题,所以我希望有一个功能能够从 xml 中正则表达式处理电子邮件(因为如果解析是问题,那么我通常无法从 xml 中获取错误电子邮件) )。

要求:

  • 我希望能够分别解析 to、cc 和 bcc 属性
  • 还有其他元素具有 to、cc 和 bcc 属性
  • 空格并不重要,因此我的示例可能会在换行符上显示属性,但情况并非总是如此。
  • 属性的顺序并不重要。

这是 xml 的示例:

<error_options
to="your_email@your_server.com"
cc="cc_error@your_server.com"
bcc="bcc_error@your_server.com"
reply_to="someone_else@their_server.com"
from="bo_error@some_server.org"
subject="Error running System at @@TIMESTAMP@@"
force_send="false"
max_email_size="10485760"
oversized_email_action="zip;split_all"
>

我尝试了这个 error_options.{0,100}?to="(.*?)",但它与我匹配到 reply_to。这让我觉得我可能会错过一些案例,这就是为什么我将其作为一个问题发布。

最佳答案

这件作品将放置您 String s="<error_options..." 中的所有属性进入 map :

    Pattern p = Pattern.compile("\\s+?(.+?)=\"(.+?)\\s*?\"",Pattern.DOTALL);
Map a = new HashMap() ;
Matcher m = p.matcher(s) ;
while( m.find() ) {
String key = m.group(1).trim() ;
String val = m.group(2).trim() ;
a.put(key, val) ;
}

...然后您可以从该 map 中提取您感兴趣的值。

关于java - 正则表达式 xml 之外的电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11314069/

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