当前位置: 首页 > 编程笔记 >

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

巫马化
2023-03-14
本文向大家介绍Java基于正则表达式实现的替换匹配文本功能【经典实例】,包括了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
*/
 }
}

eclipse运行代码效果图如下:

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

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

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

 类似资料:
  • 本文向大家介绍Java基于正则表达式实现查找匹配的文本功能【经典实例】,包括了Java基于正则表达式实现查找匹配的文本功能【经典实例】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java基于正则表达式实现查找匹配的文本功能。分享给大家供大家参考,具体如下: REMatch.java: eclipse运行结果如下图: REMatchTwoFields.java: eclipse运行结果如

  • 本文向大家介绍Java正则表达式实现在文本中匹配查找换行符的方法【经典实例】,包括了Java正则表达式实现在文本中匹配查找换行符的方法【经典实例】的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Java正则表达式实现在文本中匹配查找换行符的方法。分享给大家供大家参考,具体如下: 默认情况下,正则表达式 ^ 和 $ 忽略行结束符,仅分别与整个输入序列的开头和结尾匹配。如果激活 MULTILI

  • 本文向大家介绍正则表达式实现最小匹配功能的方法,包括了正则表达式实现最小匹配功能的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了正则表达式实现最小匹配功能的方法。分享给大家供大家参考,具体如下: 正则表达式默认情况下实现的是最大化匹配,这在有些情况下是非常不愿意出现的,比如下面这段代码: # starting IndiaInventoryAPP.exe" ~~DisplayVaria

  • 我有一根绳子。假设:< br> 我想将所有替换为单词和替换为。一般来说,我想替换单个字母或单个字母与空格或点之间的所有点。我认为匹配的正则表达式是: 我怎么能只替换那个点,而不是所有匹配的东西? 编辑: 预期产出: 编辑2: 基本任务是从缩写和首字母缩略词中删除点,这些缩略词可以用点或不用点编写。所以一个好的正则表达式也很有价值

  • 本文向大家介绍正则表达式实现添加、删除、替换三种功能,包括了正则表达式实现添加、删除、替换三种功能的使用技巧和注意事项,需要的朋友参考一下 最近呢,公司让写一个组件,要求用正则表达式构建一个中文的匹配组件,许多问题就来了,大多是用自动机来构建一个正则表达式的引擎,小编虽然大学的时候学过编译原理,可奈何现在已经忘得差不多了,只能通过现有的正则表达式来进行功能实现。 下面的代码呢实现了通过用正则表达式

  • 本文向大家介绍Java正则表达式的替换和分组功能,包括了Java正则表达式的替换和分组功能的使用技巧和注意事项,需要的朋友参考一下 前言 这篇来学习正则表达式的替换和分组功能,替换很好理解,分组有点复杂,特别是如何写有效的分组的正则表达式。这篇通过几个练习,简单了解下替换和分组功能。 1.替换功能 在String类有一个替换功能的方法,结合正则表达式去实现替换,下面是replaceAll()方法的