java通过正则表达式提取信息

这篇具有很好参考价值的文章主要介绍了java通过正则表达式提取信息。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

java通过正则表达式提取信息

工具类如下

package com.datafactory.util;

import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

@Component
@Slf4j
public class RegexUtils {
    /**
     * data:原始文案
     * regexPartten:正则表达式
     * */
    public String regex(String data,String regexPartten){
//        创建正则表达式对象
        Pattern pattern = Pattern.compile(regexPartten);
//        用对象去匹配内容
        Matcher matcher = pattern.matcher(data);
//        执行匹配操作,如果匹配成功,则返回true
        if (matcher.find()) {
            String ssoInfoValue = matcher.group(1);
//            group(1)只展示被匹配到的内容
            log.info("正则表达式的结果为: " + ssoInfoValue);
//            group(0)返回的信息是带着正则表达式文案的
            log.info("正则表达式的group(0)为:"+matcher.group(0));
            return ssoInfoValue;
        } else {
            log.info("正则表达式返回结果为空");
            return null;
        }
    }
}

使用以及结果
下面这个即为data的原文

[Server:"nginx", Date:"Thu, 13 Jul 2023 08:25:34 GMT", Content-Type:"text/html; charset=UTF-8", Transfer-Encoding:"chunked", Connection:"keep-alive", Vary:"Accept-Encoding", Content-Language:"en-US", Set-Cookie:"ssoInfo=6b1b55697f6206ce8ccc52b46b216a3f; path=/manage_new; expires=Thu, 13-Jul-2023 20:25:34 GMT", "SESSION=b85ac2b7-de5c-42a8-b656-f0502a7646d7; path=/manage_new/; HttpOnly", Access-Control-Allow-Origin:"*", Access-Control-Allow-Credentials:"true", Access-Control-Allow-Methods:"GET, POST, PUT, DELETE, OPTIONS", Access-Control-Allow-Headers:"Authorization,X-CustomHeader,Content-Type,Accept,Origin,User-Agent,DNT,Cache-Control,X-Mx-ReqToken,Keep-Alive,X-Requested-With,If-Modified-Since"]>
		//这里只截取了一部分代码,data即为上面的这个原文,下面的代码用意为从原文中获取cookie以及ssoinfo信息
        String ssoInforegex = "ssoInfo=([a-f0-9]+)";
        String ssoInfo=regexUtils.regex(data,ssoInforegex);
        String cookieregex="SESSION=([a-f0-9\\-]+)";
        String cookie = regexUtils.regex(data,cookieregex);
        cookie = "SESSION="+cookie+";";
        log.info("后台管理系统登录后的cookie为:{},ssoinfo为{}",cookie,ssoInfo);

结果

16:25:34.694 [main] INFO  com.datafactory.util.RegexUtils - 正则表达式的结果为: 6b1b55697f6206ce8ccc52b46b216a3f
16:25:34.694 [main] INFO  com.datafactory.util.RegexUtils - 正则表达式的group(0)为:ssoInfo=6b1b55697f6206ce8ccc52b46b216a3f
16:25:34.698 [main] INFO  com.datafactory.util.RegexUtils - 正则表达式的结果为: b85ac2b7-de5c-42a8-b656-f0502a7646d7
16:25:34.698 [main] INFO  com.datafactory.util.RegexUtils - 正则表达式的group(0)为:SESSION=b85ac2b7-de5c-42a8-b656-f0502a7646d7
16:25:34.698 [main] INFO  com.datafactory.service.impl.HTUserServiceImpl - 后台管理系统登录后的cookie为:SESSION=b85ac2b7-de5c-42a8-b656-f0502a7646d7;,ssoinfo为6b1b55697f6206ce8ccc52b46b216a3f

推荐这个网站,看起来更直观
正则在线
java通过正则表达式提取信息,Java,java,正则表达式,python
真正比较难的事儿吧,是怎么写这个正则表达式
有的表达式不是不能用,只是在java程序中不好用,怎么办呢,推荐用chatgpt吧,让他来帮你写表达式
第一步,先把文案发出去
java通过正则表达式提取信息,Java,java,正则表达式,python
第二步提出需求
java通过正则表达式提取信息,Java,java,正则表达式,python文章来源地址https://www.toymoban.com/news/detail-565146.html

到了这里,关于java通过正则表达式提取信息的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 正则表达式(JAVA)

    正则表达式在用于 校验信息 是否 满足某些规则 的时候,非常的好用 在 文本中查找 满足要求的内容 符号 作用 补充 [abc] 只能是a,b或c 匹配的一个字符只能是 [] 范围内的其中一个 [^abc] 除了a,b,c之外的任何字符 ^ 符号类似 非 [a-zA-Z] a到z A到Z ,包括范围 - 作用是由…到… ,两个或

    2024年02月10日
    浏览(46)
  • Java 正则表达式

    正则表达式的元字符可以大致分为六类: 限定符 选择匹配符 分组组合和反向引用符 特殊字符 字符匹配符 定位符 转义符 \\\\ 符号在检索某些特殊字符的时候可以使用,否则检索不到结果。 在Java中是 \\\\ ,而其他语言则是 。 一般 . * + ( ) $ / ? [ ] { } 都可能需要转义符 符号

    2024年02月21日
    浏览(127)
  • 正则表达式(Java)

    正则表达式是由一些特定的字符组成,代表一个规则,可以用来检验数据格式是否合法,也可以在一段文本中查找满足要求的内容。 如果使用代码检验数据是否正确: 使用正则表达式: String提供了一个匹配正则表达式的方法:  图片来源heimait \\\\d才会当成d使用 (?i)表示忽略大

    2024年02月20日
    浏览(55)
  • Java正则表达式

    正则表达式 能够理解正则表达式的作用 能够使用正则表达式的字符类 能够使用正则表达式的逻辑运算符 能够使用正则表达式的预定义字符类 能够使用正则表达式的限定符 能够使用正则表达式的分组 能够在String的split方法中使用正则表达式 在Java中,我们经常需要验证一些

    2024年01月19日
    浏览(46)
  • Java038——正则表达式

    正则表达式通常被用于判断语句中,用来检查某一字符串是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式的元字符。例如,“d”表示数字 0~9 中的任何一个,“d”就是元字符。正则表达式中的元字符及其意义下所示。 在

    2024年02月13日
    浏览(45)
  • Java 正则表达式匹配

    正则表达式: 定义一个搜索模式的字符串。 正则表达式可以用于搜索、编辑和操作文本。 正则对文本的分析或修改过程为:首先正则表达式应用的是文本字符串(text/string),它会以定义的模式从左到右匹配文本,每个源字符只匹配一次。 正则表达式 匹配 this is text 精确匹配

    2024年02月06日
    浏览(63)
  • JAVA系列---正则表达式

    编号 元字符 匹配功能 1 . 匹配除换⾏符以外的任意字符 2 w 匹配字⺟或数字或下划线 3 s 匹配任意的空⽩符 4 d 匹配数字 5 n 匹配⼀个换⾏符 6 t 匹配⼀个制表符 7 ^ 匹配字符串的开始 8 $ 匹配字符串的结尾 9 W 匹配⾮字⺟或数字或下划线 10 D 匹配⾮数字 11 S 匹配⾮空⽩符

    2024年02月15日
    浏览(62)
  • JAVA中正则表达式

    接下来,学习一个全新的知识,叫做正则表达式。 正则表达式其实是由一些特殊的符号组成的,它代表的是某种规则。 正则表达式的作用1:用来校验字符串数据是否合法 正则表达式的作用2:可以从一段文本中查找满足要求的内容 5.1 正则表达式初体验 现在,我们就以QQ号码

    2024年01月20日
    浏览(51)
  • Java的正则表达式

    正则表达式是一种强大的字符串匹配工具,可以在很多领域得到广泛使用。在Java中,正则表达式也被广泛应用于字符串匹配、查找和替换等方面。本文将介绍Java中常用的正则表达式语法以及其使用方法,供大家参考。 Java中使用正则表达式需要使用java.util.regex包中的类。其中

    2024年02月07日
    浏览(54)
  • Jmeter接口关联(三)【使用正则表达式提取值】以及正则表达式提取器中模板的含义及用法

    文章目录 前言 一、Jmeter中使用正则表达式匹配 1、选择 RegExp Tester 2、在线程组------》添加------》后置处理器-------里面添加一个“正则表达式提取器” 二、关于正则表达式提取器里面字段的解释 参数说明 三、进一步解释Jmeter正则表达式提取器中的模板 1、当模板设置为$0$ 

    2024年02月13日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包