java正则表达式appendReplacement和appendTail方法

Posted 何甜甜在吗

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java正则表达式appendReplacement和appendTail方法相关的知识,希望对你有一定的参考价值。

appendReplacement是java中替换相应字符串的一个方法

appendReplacement(StringBuffer sb,String replacement)

 将当前匹配子串替换为指定字符串,并且将替换后的子串以及其之前到上次匹配子串之后的字符串段添加到一个 StringBuffer 对象里

appendTail(StringBuffer sb)

将最后一次匹配工作后剩余的字符串添加到一个 StringBuffer 对象里

如果没有理解的话,那就来一个简单的demo吧

public class TheReplacements {
    public static void main(String[] args) throws Exception {
        // 生成 Pattern 对象并且编译一个简单的正则表达式"cat"
        Pattern p = Pattern.compile("cat");
        // 用 Pattern 类的 matcher() 方法生成一个 Matcher 对象
        Matcher m = p.matcher("fatcatfatcatfat");
        StringBuffer sb = new StringBuffer();
        while(m.find()){
            //此时sb为fatdogfatdog,cat被替换为dog,并且将最后匹配到之前的子串都添加到sb对象中
            m.appendReplacement(sb,"dog");
        }
        //此时sb为fatdogfatdogfat,将最后匹配到后面的子串添加到sb对象中
        m.appendTail(sb);
        //输出内容为fatdogfatdogfat
        System.out.println("sb:"+sb);
    }
}

注释已经够详细了,就不重复了

以上是关于java正则表达式appendReplacement和appendTail方法的主要内容,如果未能解决你的问题,请参考以下文章

java 正则表达式

java 正则表达式 ^java 是啥意思

java编程基础 正则表达式

java正则表达式,请教大神

java匹配url的正则表达式

java正则表达式怎么书写?