当前位置: 首页 > news >正文

正则表达式系列|(以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.lryc.cn/news/105178.html

相关文章:

  • 金融学复习博迪(第1-5章)
  • 【前端知识】React 基础巩固(三十七)——自定义connect高阶组件
  • 前端PDF导出,使用html2Canvas和jsPDF插件
  • Android 设备兼容性使用详解
  • vnc加固
  • Windows下Nginx安装与配置教程
  • Iterator迭代器和Generator生成器
  • Modbus-RTU协议C#实现
  • Redis学习---大数据技术之Redis(NoSQL简介、Redis简介、Redis安装、五大数据类型、相关配置、持久化)
  • 基于组合双向拍卖的共享储能机制研究(Matlab代码实现)
  • 服务机器人有哪些品类
  • 3.netty和protobuf
  • NLP实践——Llama-2 多轮对话prompt构建
  • 《TCP IP网络编程》第十四章
  • 网络基础-认识每层的设备和每层的特点用途
  • 【Linux操作系统】深入解析Linux定时任务调度机制-cronat指令
  • 动手学深度学习(一)预备知识
  • item_get-KS-获取商品详情
  • [华为OD] 最小传输时延(dijkstra算法)
  • 问道管理:总资产大于总市值好吗?
  • IBM Spectrum LSF (“LSF“ ,简称为负载共享设施) 用户案例
  • Pytorch深度学习-----神经网络之非线性激活的使用(ReLu、Sigmoid)
  • Gis入门,使用起止点和两个控制点生成三阶贝塞尔曲线(共四个控制点,线段转曲线)
  • Web-7-深入理解Cookie与Session:实现用户跟踪和数据存储
  • Springboot设置Https
  • Windows 使用 Linux 子系统,轻轻松松安装多个linux
  • 中级课程——弱口令(认证崩溃)
  • web自动化测试进阶篇05 ——— 界面交互场景测试
  • NICE-SLAM: Neural Implicit Scalable Encoding for SLAM论文阅读
  • cmake 配置Visual studio的调试命令