开发者社区> 问答> 正文

编写正则表达式以从字符串中提取信息

我在下面提供了一个字符串:

AWSALB=eIFPQSLLQjg+; Expires=Fri, 20 Mar 2020 03:16:01 GMT; Path=/, AWSALBCORS=eIFPQSLLQjg+vW+; Expires=Fri, 20 Mar 2020 03:16:01 GMT; Path=/; SameSite=None; Secure, SilverWebAuth=48199A; expires=Fri, 13-Mar-2020 04:01:01 GMT; path=/; HttpOnly

我只想捕获以下提供的特定信息:

AWSALB=eIFPQSLLQjg+; AWSALBCORS=eIFPQSLLQjg+vW+; SilverWebAuth=48199A; 

我有(\ AWSALB =(。*?)\ ;;)的正则表达式,但这仅捕获了第一个术语。我也想另外两个词。我该如何为此编写正则表达式?

问题来源:Stack Overflow

展开
收起
montos 2020-03-27 16:51:28 428 0
1 条回答
写回答
取消 提交回答
  • 它会像这样:

    String a = "AWSALB=eIFPQSLLQjg+; Expires=Fri, 20 Mar 2020 03:16:01 GMT; "
             + "Path=/, AWSALBCORS=eIFPQSLLQjg+vW+; Expires=Fri, 20 Mar 2020 "
             + "03:16:01 GMT; Path=/; SameSite=None; Secure, SilverWebAuth=48199A; "
             + "expires=Fri, 13-Mar-2020 04:01:01 GMT; path=/; HttpOnly";
    
    String regex = "AWSALB=(.*?);|AWSALBCORS=(.*?);|SilverWebAuth=(.*?);";
    
    Pattern p = Pattern.compile(regex);   // the pattern to search for
    Matcher m = p.matcher(a);
    StringBuilder sb = new StringBuilder("");
    while(m.find()) {
        if (!sb.toString().equals("")) {
            sb.append(" ");
        }
        sb.append(m.group(0));
    }
    
    System.out.println(sb.toString());
    

    输出到控制台:

    AWSALB=eIFPQSLLQjg+; AWSALBCORS=eIFPQSLLQjg+vW+; SilverWebAuth=48199A;
    

    回答来源:Stack Overflow

    2020-03-27 16:51:50
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多