java小工具util系列12:java正则表达式截取两字符串之间的内容

在这里插入图片描述

文章目录

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

public class StringExtractor {
    public static void main(String[] args) {
        String input = "这是开始字符串ABC这是要截取的内容DEF这是结束字符串";
        String startString = "ABC";
        String endString = "DEF";

        String patternString = Pattern.quote(startString) + "(.*?)" + Pattern.quote(endString);
        Pattern pattern = Pattern.compile(patternString);
        Matcher matcher = pattern.matcher(input);

        if (matcher.find()) {
            String extractedString = matcher.group(1).trim();
            System.out.println("截取的内容: " + extractedString);
        } else {
            System.out.println("未找到匹配的内容");
        }
    }
}

结果打印:这是要截取的内容

在上述代码中,我们定义了一个输入字符串 input,以及要截取的开始字符串 startString 和结束字符串 endString。

我们使用 Pattern.quote() 方法对开始字符串和结束字符串进行转义,以确保其作为字面量被正则表达式解释。

然后,我们构建了正则表达式模式 patternString,将开始字符串和结束字符串嵌入其中,并使用 .*? 来匹配两个字符串之间的任意内容(非贪婪模式)。

接下来,我们通过 Pattern.compile() 创建了一个正则表达式模式对象 pattern,并使用 pattern.matcher() 方法将其应用于输入字符串。

最后,我们使用 matcher.find() 方法查找匹配的内容。如果找到了匹配项,则使用 matcher.group(1) 获取截取的内容,并输出结果。使用trim()方法清除字符串左右两边的空格,如果未找到匹配项,则输出未找到匹配的提示。

你可以根据需要修改输入字符串以及开始和结束字符串来进行测试。文章来源地址https://www.uudwc.com/A/8dnWG/

原文地址:https://blog.csdn.net/a924382407/article/details/131474666

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

h
上一篇 2023年10月26日 02:36
下一篇 2023年10月26日 07:06