正则表达式系列|(以xx开头xx结尾提取、切分、替换)

正则表达式系列|(以xx开头xx结尾提取、切分、替换)


文章目录

  • 正则表达式系列|(以xx开头xx结尾提取、切分、替换)
    • @[TOC]
  • 前言
  • 一、以xx开头xx结尾进行数据处理?
    • 1.以xx开头xx结尾对文本拆分
    • 2.以xx开头xx结尾提取内容
    • 3.以xx开头xx结尾提取中间内容
    • 4.以xx开头xx结内容替换
    • 5.以xx开头xx结内容替换,并且标记序号
  • 总结

章节
第一章链接: 正则表达式系列|(以xx开头xx结尾提取切分)

前言

正则表达式是对字符串操作的一种逻辑公式;作用:检索、替换那些符合某个模式(规则)的文本,可以通过一些设定的规则来匹配一些字符串,是一个强大的字符串匹配工具。

一、以xx开头xx结尾进行数据处理?

1.以xx开头xx结尾对文本拆分

  //示例String content = "这是一个标签<table>你好啊</table>标签结尾";private static void meth1(String content) {String[] tables = content.split("<table>.*?</table>");for (String table : tables) {System.out.println(table);}}

结果

输入:"这是一个标签<table>你好啊</table>标签结尾"
输出:
"这是一个标签"
"标签结尾"

2.以xx开头xx结尾提取内容

  //示例String content = "这是一个标签<table>你好啊</table>标签结尾";private static void meth2(String content) {Pattern pattern = Pattern.compile("<table>.*?</table>");Matcher matcher = pattern.matcher(content);while (matcher.find()) {System.out.println(matcher.);System.out.println(matcher.group().trim());}}

结果

输入:"这是一个标签<table>你好啊</table>标签结尾"
输出:"<table>你好啊</table>"输入:"这是一个标签<table>你好啊1</table>标签结尾<table>你好啊2</table>结尾"
输出:
"<table>你好啊1</table>"
"<table>你好啊2</table>"

3.以xx开头xx结尾提取中间内容

matcher.group(1)表示获取第一个括号里面的内容,matcher.group()获取整个内容

  //示例private static void meth3(String content) {Pattern pattern = Pattern.compile("<table>(.*?)</table>");Matcher matcher = pattern.matcher(content);while (matcher.find()) {String extractedText = matcher.group(1);System.out.println(extractedText);}}

结果

输入:"这是一个标签<table>你好啊1</table>标签结尾<table>你好啊2</table>结尾"
输出:
"你好啊1"
"你好啊2"

4.以xx开头xx结内容替换

    private static void meth4(String content) {Pattern pattern = Pattern.compile("<table>(.*?)</table>");Matcher matcher = pattern.matcher(content);String result = matcher.replaceAll("##");System.out.println(result);}

结果

输入:"这是一个标签<table>你好啊1</table>标签结尾<table>你好啊2</table>结尾"
输出:"这是一个标签##标签结尾##结尾"

5.以xx开头xx结内容替换,并且标记序号

 private static void meth4(String content) {String patternString = "<table>(.*?)</table>";Pattern pattern = Pattern.compile(patternString);Matcher matcher = pattern.matcher(content);StringBuffer output = new StringBuffer();int count = 1;while (matcher.find()) {String replacement = "<替换后内容"+count+">";matcher.appendReplacement(output, replacement);count++;}matcher.appendTail(output);System.out.println("替换结果:" + output);}

结果

输入:"这是一个标签<table>你好啊1</table>标签结尾<table>你好啊2</table>结尾"
输出:"这是一个标签<替换后内容1>标签结尾<替换后内容2>结尾"

总结

以上就是正则表达式用来检索、替换那些符合某个模式(规则)的文本案例,后续会陆续补充完善

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/18545.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2023 08.02 小记与展望

碎碎念系列更新 算是坚持的第一个月&#xff08;每个月更新一次&#xff0c;上次是6.29&#xff09; 主要对上月工作进行总结&#xff0c;并对后续学习内容进行规划。 一、关于工作 7月工作主要涉及以下方面&#xff1a; 1、公司自研APP维护&#xff08;主要是接口更新和修改…

Red Hat 安装JDK与IntelliJ IDEA

目录 前言 Red Hat 安装 JDK 1、更新软件包列表 2、安装OpenJDK 3、验证安装 Red Hat 安装IntelliJ IDEA 1、下载 IntelliJ IDEA 2、解压缩 IntelliJ IDEA 安装包 3、移动 IntelliJ IDEA 到安装目录 4、启动 IntelliJ IDEA 前言 YUM是基于Red Hat的Linux发行版的一个…

大数据课程F1——HIve的概述

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 了解HIve的概念&#xff1b; ⚪ 了解HIve与数据库的区别&#xff1b; ⚪ 了解HIve的特点&#xff1b; 一、概述 1. Hive原本是由Facebook公司开发后来贡献给了Apache的…

R语言地理加权回归、主成份分析、判别分析等空间异质性数据分析

在自然和社会科学领域有大量与地理或空间有关的数据&#xff0c;这一类数据一般具有严重的空间异质性&#xff0c;而通常的统计学方法并不能处理空间异质性&#xff0c;因而对此类型的数据无能为力。以地理加权回归为基础的一系列方法&#xff1a;经典地理加权回归&#xff0c;…

Stable Diffusion VAE:改善图像质量的原理、选型与使用指南

VAE Stable Diffusion&#xff08;稳定扩散&#xff09;是一种用于生成模型的算法&#xff0c;结合了变分自编码器&#xff08;Variational Autoencoder&#xff0c;VAE&#xff09;和扩散生成网络&#xff08;Diffusion Generative Network&#xff09;的思想。它通过对变分自…

Maya中polygon和transform区别?

In Autodesk Maya, “polygon” and “transform” are two fundamental types of nodes used to represent different aspects of 3D geometry and the transformation of objects in the scene. Polygon (polyMesh): A polygon node, often referred to as a “polyMesh,” r…

使用Wps减小PDF文件的大小

第一步、打开左上角的文件 第二步、点击打印选项 第三步、点击打印按钮

2023.8.1号论文阅读

文章目录 MCPA: Multi-scale Cross Perceptron Attention Network for 2D Medical Image Segmentation摘要本文方法实验结果 SwinMM: Masked Multi-view with SwinTransformers for 3D Medical Image Segmentation摘要本文方法实验结果 MCPA: Multi-scale Cross Perceptron Att…

Pytorch个人学习记录总结 09

目录 损失函数与反向传播 L1Loss MSELOSS CrossEntropyLoss 损失函数与反向传播 所需的Loss计算函数都在torch.nn的LossFunctions中&#xff0c;官方网址是&#xff1a;torch.nn — PyTorch 2.0 documentation。举例了L1Loss、MSELoss、CrossEntropyLoss。 在这些Loss函数…

linux系统将OpenSSH升级到最高版本

一、背景&#xff1a; 公司安全扫描到主机的OpenSSH安全漏洞&#xff0c;由于是虚拟机只能由自己修复&#xff0c;很多OpenSSH的漏洞厂商都没有提供补丁&#xff0c;只能通过禁用scp或者端口的方式临时解决&#xff0c;但是后面使用就不方便了&#xff0c;而且也不安全&#x…

从数学到深度学习的学习资料及教程合集

诸神缄默不语-个人CSDN博文目录 目前仅收集免费内容&#xff0c;最多需要买本纸质书。 付费的如果有免费版本我也会收录。 链接如失效请联系我。 这个笔记主要是为我自己准备的&#xff0c;算是一个可公开的to do list&#xff08;其实做不完的我也知道&#xff09;&#xff…

这所211考数一英二,学硕降分33分,十分罕见!

一、学校及专业介绍 合肥工业大学&#xff08;Hefei University of Technology&#xff09;&#xff0c;简称“合工大”&#xff0c;校本部位于安徽省合肥市&#xff0c;是中华人民共和国教育部直属的全国重点大学&#xff0c;是国家“双一流”建设高校&#xff0c; 国家“211工…

​LeetCode解法汇总822. 翻转卡片游戏

目录链接&#xff1a; 力扣编程题-解法汇总_分享记录-CSDN博客 GitHub同步刷题项目&#xff1a; https://github.com/September26/java-algorithms 原题链接&#xff1a;力扣 描述&#xff1a; 在桌子上有 n 张卡片&#xff0c;每张卡片的正面和背面都写着一个正数&#xff…

sftp和scp协议,哪个传大文件到服务器传输速率快?

环境&#xff1a; 1.Win scp 6.1.1 2.XFTP 7 3.9.6G压缩文件 4.Centos 7 5.联想E14笔记本Win10 6.HW-S1730S-S48T4S-A交换机 问题描述&#xff1a; sftp和scp协议&#xff0c;哪个传大文件到服务器速度快&#xff1f; 1.SFTP 基于SSH加密传输文件&#xff0c;可靠性高&am…

【HDU-1043】Eight 八数码(BFS之A*算法)

Eight&#xff08;八数码&#xff09; Vjudge链接 题目描述 15 块拼图已有 100 多年的历史&#xff0c;即使你不知道它的名字&#xff0c;也一定见过它。它由 15 块滑动瓷砖组成&#xff0c;每块瓷砖上都有一个从 1 到 15 的数字&#xff0c;所有瓷砖都被装在一个 44 的框架…

【论文阅读24】Better Few-Shot Text Classification with Pre-trained Language Model

论文相关 论文标题&#xff1a;Label prompt for multi-label text classification&#xff08;基于预训练模型对少样本进行文本分类&#xff09; 发表时间&#xff1a;2021 领域&#xff1a;多标签文本分类 发表期刊&#xff1a;ICANN&#xff08;顶级会议&#xff09; 相关代…

基于opencv的几种图像滤波

一、介绍 盒式滤波、均值滤波、高斯滤波、中值滤波、双边滤波、导向滤波。 boxFilter() blur() GaussianBlur() medianBlur() bilateralFilter() 二、代码 #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> …

2023爱分析·低代码厂商全景报告|爱分析报告

关键发现 低代码开始向甲方核心场景渗透&#xff0c;呈现两个显著特征&#xff1a;“更深入”、“更垂直”。更深入&#xff0c;即甲方愈发注重低代码在复杂业务场景的应用开发能力&#xff1b;更垂直&#xff0c;即甲方需要使用低代码开发行业垂直应用&#xff0c;因此对行业或…

springboot项目实现验证码功能(短信防刷机制实现)

为什么写这篇文章 项目里面有用到用户手机号注册发短信功能&#xff0c;需要做短信防刷机制。主要验证逻辑如下 图形验证码验证IP验证&#xff0c;同一个IP每日限制发送20条发送时判断5分钟之内是否发送了验证码&#xff0c;如果有的话就发送重复的至用户手机&#xff0c;减少…

JDBC的书写

文章目录 基本概念操作数据库方式一&#xff08;不建议使用这种查询&#xff0c;可以sql注入&#xff09;读取properties文件 事务转账示例 获取id连接池 基本概念 持久化:把数据放在磁盘上&#xff0c;断电后还是有数据。使用execute 执行增删改返回false,查返回true 操作数…