正则表达式系列|(以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 = "这是一个标签你好啊
标签结尾"
; private static void meth1(String content) { String[] tables = content.split(".*?
"
); for (String table : tables) { System.out.println(table); } }

结果

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

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

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

结果

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

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

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

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

结果

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

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

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

结果

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

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

 private static void meth4(String content) {
        String patternString = "(.*?)
"
; 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); }

结果

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

总结

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

你可能感兴趣的:(正则表达式,正则表达式)