欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Java基于正则表达式实现的替换匹配文本功能【经典实例】

程序员文章站 2024-03-02 08:35:22
本文实例讲述了java基于正则表达式实现的替换匹配文本功能。分享给大家供大家参考,具体如下: package replacedemo; import java....

本文实例讲述了java基于正则表达式实现的替换匹配文本功能。分享给大家供大家参考,具体如下:

package replacedemo;
import java.util.regex.matcher;
import java.util.regex.pattern;
/**
 * created by frank
 * 替换匹配的文本
 */
public class replacedemo {
 public static void main(string[] args) {
  // 创建一个正则表达式模式,用以匹配一个单词(\b=单词边界)
  string patt = "\\bfavor\\b";
  // 用于测试的输入字符串
  string input = "do me a favor? fetch my favorites.aaa favor bbb";
  system.out.println("input:" + input);
  // 从正则表达式实例中运行方法并查看其如何运行
  pattern r = pattern.compile(patt);
  matcher m = r.matcher(input);
  system.out.println("replaceall:" + m.replaceall("favour"));
  // appendreplacement方法
  m.reset();
  stringbuffer sb = new stringbuffer();
  while (m.find()) {
   // 将匹配之前的字符串复制到sb,再将匹配结果替换为:"favour",并追加到sb
   m.appendreplacement(sb, "favour");
  }
  system.out.println(sb.tostring());
  m.appendtail(sb);
  system.out.println(sb.tostring());
/*
输出:

input:do me a favor? fetch my favorites.aaa favor bbb
replaceall:do me a favour? fetch my favorites.aaa favour bbb
do me a favour? fetch my favorites.aaa favour
do me a favour? fetch my favorites.aaa favour bbb
*/
 }
}

运行代码效果图如下:

Java基于正则表达式实现的替换匹配文本功能【经典实例】

ps:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

javascript正则表达式在线测试工具:

正则表达式在线生成工具:

希望本文所述对大家java程序设计有所帮助。